// MPS_frac_cal_mpi.cc // Author: Mario J. Bencomo // last modified: 11/10/16 #include "MPS_frac_cal.hh" #ifdef IWAVE_USE_MPI //#define VERBOSE_MJB namespace TSOpt{ //----------------------------------------------------------------------// void MPS_frac_cal_kern_MPI( vector order, vector scalars, int N_src, string in_file, string out_file, bool adj ){ //----------------------------------------------------------------------// try{ #ifdef VERBOSE_MJB if( retrieveGlobalRank()==0 ){ cerr << "*************************************************\n" << " Inside MPS_frac_cal_kern_MPI\n" << "*************************************************\n\n" << "in file = " << in_file << "\n" << "out file = " << out_file << "\n" << "adj flag = " << adj << "\n" << "order:"; for(int i=0; i=0){ frac_deriv( q, scalars[i_b], NS, x_arr_loc+offset, y_arr_loc+offset, dt, adj ); } else{ q *= -1; frac_integ( q, scalars[i_b], NS, x_arr_loc+offset, y_arr_loc+offset, dt, adj ); } }//MPS basis loop }//sources loop } //////////////////// // gathering data // //////////////////// MPI_Gatherv( y_arr_loc, snd_sz[RANK], MPI_FLOAT, y_arr, snd_sz, offsets, MPI_FLOAT, 0, COMM ); #ifdef VERBOSE_MJB for( int r=0; r