Skip to content
Permalink
Browse files

Prepend PVFMM_ to all preprocessor macros

  • Loading branch information...
dmalhotra committed Mar 14, 2019
1 parent b4d6fc8 commit 67595dd1a1ebcfb5c8079c960910bd72e637aedf
@@ -95,7 +95,7 @@ are given below:
./configure CXXFLAGS="-mavx -wd3218 -wd2570" --with-fftw="$TACC_FFTW3_DIR" FLIBS=" "

`Stampede (TACC)' (Native build)
./configure --host=x86_64-k1om-linux CXXFLAGS="-mmic -wd3218 -wd2570 -I$TACC_MKL_INC -DFFTW3_MKL" F77=ifort FFLAGS="-mmic" FLIBS=" " --with-fftw-include="$TACC_MKL_INC/fftw" --with-fftw-lib="-mkl"
./configure --host=x86_64-k1om-linux CXXFLAGS="-mmic -wd3218 -wd2570 -I$TACC_MKL_INC -DPVFMM_FFTW3_MKL" F77=ifort FFLAGS="-mmic" FLIBS=" " --with-fftw-include="$TACC_MKL_INC/fftw" --with-fftw-lib="-mkl"

`Ronaldo (ICES)'
./configure CXXFLAGS="-msse4" --with-fftw="$FFTW_DIR"
@@ -34,7 +34,7 @@ CUDA_CFLAGS_PVFMM = @CUDA_CFLAGS@
CUDA_LDLIBS_PVFMM = @CUDA_LDLIBS@

# Add all CXXFLAGS_PVFMM and LDLIBS_PVFMM
CXXFLAGS_PVFMM = @CXXFLAGS@ -DALLTOALLV_FIX $(PVFMM_INCLUDES) $(FFTW_INCLUDES_PVFMM) $(X_INCLUDES_PVFMM) $(CUDA_CFLAGS_PVFMM)
CXXFLAGS_PVFMM = @CXXFLAGS@ $(PVFMM_INCLUDES) $(FFTW_INCLUDES_PVFMM) $(X_INCLUDES_PVFMM) $(CUDA_CFLAGS_PVFMM)
LDLIBS_PVFMM = @LDFLAGS@ $(PVFMM_LIBS) $(FFTW_LIBS_PVFMM) $(BLAS_LAPACK_LIB_PVFMM) $(X_LIBS_PVFMM) $(CUDA_LDLIBS_PVFMM) @LIBS@

LDFLAGS_PVFMM = $(LDLIBS_PVFMM) # Deprecated, use LDLIBS_PVFMM instead
@@ -133,8 +133,8 @@ void CheckChebOutput(FMMTree_t* mytree, typename TestFn<typename FMMTree_t::Real
int cheb_deg=nodes[0]->ChebDeg();
std::vector<Real_t> cheb_nds=pvfmm::cheb_nodes<Real_t>(cheb_deg+1, 1);
for(size_t i=0;i<cheb_nds.size();i++) cheb_nds[i]=2.0*cheb_nds[i]-1.0;
std::vector<Real_t> cheb_pts=pvfmm::cheb_nodes<Real_t>(cheb_deg+1, COORD_DIM);
int n_pts=cheb_pts.size()/COORD_DIM;
std::vector<Real_t> cheb_pts=pvfmm::cheb_nodes<Real_t>(cheb_deg+1, PVFMM_COORD_DIM);
int n_pts=cheb_pts.size()/PVFMM_COORD_DIM;
int omp_p=omp_get_max_threads();

std::vector<Real_t> glb_err_avg(dof*fn_dof,0);
@@ -152,9 +152,9 @@ void CheckChebOutput(FMMTree_t* mytree, typename TestFn<typename FMMTree_t::Real
Real_t s=pow(2.0,-nodes[i]->Depth());
Real_t s3=s*s*s;
for(size_t j=0;j<n_pts;j++){
Real_t coord[3]={c[0]+s*cheb_pts[j*COORD_DIM+0],
c[1]+s*cheb_pts[j*COORD_DIM+1],
c[2]+s*cheb_pts[j*COORD_DIM+2]};
Real_t coord[3]={c[0]+s*cheb_pts[j*PVFMM_COORD_DIM+0],
c[1]+s*cheb_pts[j*PVFMM_COORD_DIM+1],
c[2]+s*cheb_pts[j*PVFMM_COORD_DIM+2]};
fn_out.SetZero();
for(size_t k=0;k<dof;k++)
fn_poten(coord,1,&fn_out[k*fn_dof]);
@@ -233,9 +233,9 @@ void CheckChebOutput(FMMTree_t* mytree, typename TestFn<typename FMMTree_t::Real
Real_t s=pow(2.0,-nodes[i]->Depth());
Real_t s3=s*s*s;
for(size_t j=0;j<n_pts;j++){
Real_t coord[3]={c[0]+s*cheb_pts[j*COORD_DIM+0],
c[1]+s*cheb_pts[j*COORD_DIM+1],
c[2]+s*cheb_pts[j*COORD_DIM+2]};
Real_t coord[3]={c[0]+s*cheb_pts[j*PVFMM_COORD_DIM+0],
c[1]+s*cheb_pts[j*PVFMM_COORD_DIM+1],
c[2]+s*cheb_pts[j*PVFMM_COORD_DIM+2]};
fn_out.SetZero();
for(size_t k=0;k<dof;k++)
fn_poten(coord,1,&fn_out[k*fn_dof]);
@@ -15,16 +15,16 @@ void nbody(vec& sl_coord, vec& sl_den,
MPI_Comm_size(comm, &np);
MPI_Comm_rank(comm, &rank);

long long n_sl = sl_coord.size()/COORD_DIM;
long long n_dl = dl_coord.size()/COORD_DIM;
long long n_trg_glb=0, n_trg = trg_coord.size()/COORD_DIM;
long long n_sl = sl_coord.size()/PVFMM_COORD_DIM;
long long n_dl = dl_coord.size()/PVFMM_COORD_DIM;
long long n_trg_glb=0, n_trg = trg_coord.size()/PVFMM_COORD_DIM;
MPI_Allreduce(&n_trg , & n_trg_glb, 1, MPI_LONG_LONG, MPI_SUM, comm);

vec glb_trg_coord(n_trg_glb*COORD_DIM);
vec glb_trg_coord(n_trg_glb*PVFMM_COORD_DIM);
vec glb_trg_value(n_trg_glb*kernel_fn.ker_dim[1],0);
std::vector<int> recv_disp(np,0);
{ // Gather all target coordinates.
int send_cnt=n_trg*COORD_DIM;
int send_cnt=n_trg*PVFMM_COORD_DIM;
std::vector<int> recv_cnts(np);
MPI_Allgather(&send_cnt , 1, MPI_INT,
&recv_cnts[0], 1, MPI_INT, comm);
@@ -43,17 +43,17 @@ void nbody(vec& sl_coord, vec& sl_den,

if(kernel_fn.ker_poten!=NULL)
kernel_fn.ker_poten(&sl_coord[0], n_sl, &sl_den[0], 1,
&glb_trg_coord[0]+a*COORD_DIM, b-a, &glb_trg_value_[0]+a*kernel_fn.ker_dim[1],NULL);
&glb_trg_coord[0]+a*PVFMM_COORD_DIM, b-a, &glb_trg_value_[0]+a*kernel_fn.ker_dim[1],NULL);

if(kernel_fn.dbl_layer_poten!=NULL)
kernel_fn.dbl_layer_poten(&dl_coord[0], n_dl, &dl_den[0], 1,
&glb_trg_coord[0]+a*COORD_DIM, b-a, &glb_trg_value_[0]+a*kernel_fn.ker_dim[1],NULL);
&glb_trg_coord[0]+a*PVFMM_COORD_DIM, b-a, &glb_trg_value_[0]+a*kernel_fn.ker_dim[1],NULL);
}
MPI_Allreduce(&glb_trg_value_[0], &glb_trg_value[0], glb_trg_value.size(), pvfmm::par::Mpi_datatype<double>::value(), MPI_SUM, comm);
}

// Get local target values.
trg_value.assign(&glb_trg_value[0]+recv_disp[rank]/COORD_DIM*kernel_fn.ker_dim[1], &glb_trg_value[0]+(recv_disp[rank]/COORD_DIM+n_trg)*kernel_fn.ker_dim[1]);
trg_value.assign(&glb_trg_value[0]+recv_disp[rank]/PVFMM_COORD_DIM*kernel_fn.ker_dim[1], &glb_trg_value[0]+(recv_disp[rank]/PVFMM_COORD_DIM+n_trg)*kernel_fn.ker_dim[1]);
}

void fmm_test(size_t N, int mult_order, MPI_Comm comm){
@@ -65,13 +65,13 @@ void fmm_test(size_t N, int mult_order, MPI_Comm comm){
vec trg_coord=point_distrib<double>(RandUnif,N,comm);
vec sl_coord=point_distrib<double>(RandUnif,N,comm);
vec dl_coord=point_distrib<double>(RandUnif,0,comm);
size_t n_trg = trg_coord.size()/COORD_DIM;
size_t n_sl = sl_coord.size()/COORD_DIM;
size_t n_dl = dl_coord.size()/COORD_DIM;
size_t n_trg = trg_coord.size()/PVFMM_COORD_DIM;
size_t n_sl = sl_coord.size()/PVFMM_COORD_DIM;
size_t n_dl = dl_coord.size()/PVFMM_COORD_DIM;

// Set source charges.
vec sl_den( n_sl* kernel_fn.ker_dim[0]);
vec dl_den(n_dl*(kernel_fn.ker_dim[0]+COORD_DIM));
vec dl_den(n_dl*(kernel_fn.ker_dim[0]+PVFMM_COORD_DIM));
for(size_t i=0;i<sl_den.size();i++) sl_den[i]=drand48();
for(size_t i=0;i<dl_den.size();i++) dl_den[i]=drand48();

@@ -107,8 +107,8 @@ void fmm_test(size_t N, int mult_order, MPI_Comm comm){
size_t n_skip=N*n_trg/1e9;
if(!n_skip) n_skip=1;
for(size_t i=0;i<n_trg;i=i+n_skip){
for(size_t j=0;j<COORD_DIM;j++)
trg_sample_coord.push_back(trg_coord[i*COORD_DIM+j]);
for(size_t j=0;j<PVFMM_COORD_DIM;j++)
trg_sample_coord.push_back(trg_coord[i*PVFMM_COORD_DIM+j]);
for(size_t j=0;j<kernel_fn.ker_dim[1];j++)
trg_sample_value.push_back(trg_value[i*kernel_fn.ker_dim[1]+j]);
n_trg_sample++;
@@ -45,7 +45,7 @@ void fmm_test(size_t N, int mult_order, int cheb_deg, double tol, MPI_Comm comm)

// Run FMM
std::vector<double> trg_value;
size_t n_trg=trg_coord.size()/COORD_DIM;
size_t n_trg=trg_coord.size()/PVFMM_COORD_DIM;
pvfmm::ChebFMM_Evaluate(tree, trg_value, n_trg);

// Re-run FMM
@@ -20,7 +20,7 @@ void fn_input_t1(const Real_t* coord, int n, Real_t* out){ //Input function
int dof=1;
Real_t a=-160;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.0)*(c[2]-0.0);
out[i*dof+0]=(2*a*r_2+3)*2*a*exp(a*r_2);
@@ -36,7 +36,7 @@ void fn_poten_t1(const Real_t* coord, int n, Real_t* out){ //Output potential
int dof=1;
Real_t a=-160;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.0)*(c[2]-0.0);
out[i*dof+0]=-exp(a*r_2);
@@ -52,7 +52,7 @@ void fn_grad_t1(const Real_t* coord, int n, Real_t* out){ //Output gradient
int dof=1;
Real_t a=-160;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.0)*(c[2]-0.0);
out[i*dof+0]=-2*a*exp(a*r_2)*(c[0]-0.5);
@@ -77,7 +77,7 @@ void fn_input_t2(const Real_t* coord, int n, Real_t* out){ //Input function
int dof=1;
Real_t R=0.1;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]=(sqrt(r_2)<R?1:0);
@@ -89,7 +89,7 @@ void fn_poten_t2(const Real_t* coord, int n, Real_t* out){ //Output potential
int dof=1;
Real_t R=0.1;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]=(sqrt(r_2)<R? (R*R-r_2)/6 + R*R/3 : pow(R,3)/(3*sqrt(r_2)) );
@@ -101,7 +101,7 @@ void fn_grad_t2(const Real_t* coord, int n, Real_t* out){ //Output gradient
int dof=3;
Real_t R=0.1;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]=(sqrt(r_2)<R? -r_2/3 : -pow(R,3)/(3*sqrt(r_2)) )*(c[0]-0.5)/r_2;
@@ -120,7 +120,7 @@ void fn_input_t3(const Real_t* coord, int n, Real_t* out){ //Input function
int dof=3;
Real_t L=125;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]= 0+2*L*exp(-L*r_2)*(c[0]-0.5);
@@ -134,7 +134,7 @@ void fn_poten_t3(const Real_t* coord, int n, Real_t* out){ //Output potential
int dof=3;
Real_t L=125;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]= 0;
@@ -153,7 +153,7 @@ void fn_input_t4(const Real_t* coord, int n, Real_t* out){ //Input function
int dof=3;
Real_t L=125;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]=-4*L*exp(-L*r_2)*(1 - L*((c[1]-0.5)*(c[1]-0.5) + (c[2]-0.5)*(c[2]-0.5)));
@@ -167,7 +167,7 @@ void fn_poten_t4(const Real_t* coord, int n, Real_t* out){ //Output potential
int dof=3;
Real_t L=125;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]= 0;
@@ -187,7 +187,7 @@ void fn_input_t5(const Real_t* coord, int n, Real_t* out){
Real_t a=-160;
Real_t mu=(20.0*M_PI);
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]=((2*a*r_2+3)*2*a*exp(a*r_2)+mu*mu*exp(a*r_2));
@@ -200,7 +200,7 @@ void fn_poten_t5(const Real_t* coord, int n, Real_t* out){
int dof=2;
Real_t a=-160;
for(int i=0;i<n;i++){
const Real_t* c=&coord[i*COORD_DIM];
const Real_t* c=&coord[i*PVFMM_COORD_DIM];
{
Real_t r_2=(c[0]-0.5)*(c[0]-0.5)+(c[1]-0.5)*(c[1]-0.5)+(c[2]-0.5)*(c[2]-0.5);
out[i*dof+0]=-exp(a*r_2);
@@ -278,7 +278,7 @@ void fmm_test(int test_case, size_t N, size_t M, bool unif, int mult_order, int

//Various parameters.
typename FMMNode_t::NodeData tree_data;
tree_data.dim=COORD_DIM;
tree_data.dim=PVFMM_COORD_DIM;
tree_data.max_depth=depth;
tree_data.cheb_deg=cheb_deg;

@@ -355,8 +355,8 @@ void fmm_test(int test_case, size_t N, size_t M, bool unif, int mult_order, int
tree->InitFMM_Tree(false,bndry);

{ //Output max tree depth.
std::vector<size_t> all_nodes(MAX_DEPTH+1,0);
std::vector<size_t> leaf_nodes(MAX_DEPTH+1,0);
std::vector<size_t> all_nodes(PVFMM_MAX_DEPTH+1,0);
std::vector<size_t> leaf_nodes(PVFMM_MAX_DEPTH+1,0);
std::vector<FMMNode_t*>& nodes=tree->GetNodeList();
for(size_t i=0;i<nodes.size();i++){
FMMNode_t* n=nodes[i];
@@ -365,7 +365,7 @@ void fmm_test(int test_case, size_t N, size_t M, bool unif, int mult_order, int
}

if(!myrank) std::cout<<"All Nodes: ";
for(int i=0;i<MAX_DEPTH;i++){
for(int i=0;i<PVFMM_MAX_DEPTH;i++){
int local_size=all_nodes[i];
int global_size;
MPI_Allreduce(&local_size, &global_size, 1, MPI_INT, MPI_SUM, comm);
@@ -374,7 +374,7 @@ void fmm_test(int test_case, size_t N, size_t M, bool unif, int mult_order, int
if(!myrank) std::cout<<'\n';

if(!myrank) std::cout<<"Leaf Nodes: ";
for(int i=0;i<MAX_DEPTH;i++){
for(int i=0;i<PVFMM_MAX_DEPTH;i++){
int local_size=leaf_nodes[i];
int global_size;
MPI_Allreduce(&local_size, &global_size, 1, MPI_INT, MPI_SUM, comm);
@@ -489,7 +489,7 @@ void fmm_test(int test_case, size_t N, size_t M, bool unif, int mult_order, int
pvfmm::Profile::Toc();

//Find error in FMM output (gradient).
CheckChebOutput<FMM_Tree_t>(tree, (typename TestFn<Real_t>::Fn_t) fn_grad_, mykernel->ker_dim[1]*COORD_DIM, std::string("OutputGrad"));
CheckChebOutput<FMM_Tree_t>(tree, (typename TestFn<Real_t>::Fn_t) fn_grad_, mykernel->ker_dim[1]*PVFMM_COORD_DIM, std::string("OutputGrad"));
}

//Delete matrices.
@@ -48,15 +48,15 @@ void fmm_test(int ker, size_t N, size_t M, Real_t b, int dist, int mult_order, i

//Various parameters.
typename FMMNode_t::NodeData tree_data;
tree_data.dim=COORD_DIM;
tree_data.dim=PVFMM_COORD_DIM;
tree_data.max_depth=depth;
tree_data.max_pts=M; // Points per octant.

{ //Set particle coordinates and values.
std::vector<Real_t> src_coord, src_value;
src_coord=point_distrib<Real_t>((dist==0?UnifGrid:(dist==1?RandSphr:RandElps)),N,comm);
for(size_t i=0;i<src_coord.size();i++) src_coord[i]*=b;
for(size_t i=0;i<src_coord.size()*mykernel->ker_dim[0]/COORD_DIM;i++) src_value.push_back(drand48()-0.5);
for(size_t i=0;i<src_coord.size()*mykernel->ker_dim[0]/PVFMM_COORD_DIM;i++) src_value.push_back(drand48()-0.5);
tree_data.pt_coord=src_coord;
tree_data.pt_value=src_value;
//tree_data.src_coord=src_coord;
@@ -136,16 +136,16 @@ void fmm_test(int ker, size_t N, size_t M, Real_t b, int dist, int mult_order, i
trg_value=trg_value_;
trg_scatter=trg_scatter_;
}
pvfmm::par::ScatterReverse(trg_value,trg_scatter,*tree.Comm(),tree_data.trg_coord.Dim()*mykernel->ker_dim[1]/COORD_DIM);
pvfmm::par::ScatterReverse(trg_value,trg_scatter,*tree.Comm(),tree_data.trg_coord.Dim()*mykernel->ker_dim[1]/PVFMM_COORD_DIM);
pvfmm::Profile::Toc();
}
pvfmm::Profile::Toc();
}

{ //Output max tree depth.
long nleaf=0, maxdepth=0;
std::vector<size_t> all_nodes(MAX_DEPTH+1,0);
std::vector<size_t> leaf_nodes(MAX_DEPTH+1,0);
std::vector<size_t> all_nodes(PVFMM_MAX_DEPTH+1,0);
std::vector<size_t> leaf_nodes(PVFMM_MAX_DEPTH+1,0);
std::vector<FMMNode_t*>& nodes=tree.GetNodeList();
for(size_t i=0;i<nodes.size();i++){
FMMNode_t* n=nodes[i];
@@ -158,7 +158,7 @@ void fmm_test(int ker, size_t N, size_t M, Real_t b, int dist, int mult_order, i
}

if(!myrank) std::cout<<"All Nodes: ";
for(int i=0;i<MAX_DEPTH;i++){
for(int i=0;i<PVFMM_MAX_DEPTH;i++){
int local_size=all_nodes[i];
int global_size;
MPI_Allreduce(&local_size, &global_size, 1, MPI_INT, MPI_SUM, comm);
@@ -167,7 +167,7 @@ void fmm_test(int ker, size_t N, size_t M, Real_t b, int dist, int mult_order, i
if(!myrank) std::cout<<'\n';

if(!myrank) std::cout<<"Leaf Nodes: ";
for(int i=0;i<MAX_DEPTH;i++){
for(int i=0;i<PVFMM_MAX_DEPTH;i++){
int local_size=leaf_nodes[i];
int global_size;
MPI_Allreduce(&local_size, &global_size, 1, MPI_INT, MPI_SUM, comm);
@@ -223,7 +223,7 @@ void Cheb_Node<Real_t>::VTU_Data(VTUData_t& vtu_data, std::vector<Node_t*>& node
Node_t* n=nodes[nid];
if(n->IsGhost() || !n->IsLeaf()) continue;

size_t point_cnt=coord.size()/COORD_DIM;
size_t point_cnt=coord.size()/PVFMM_COORD_DIM;
Real_t* c=n->Coord();
Real_t s=pvfmm::pow<Real_t>(0.5,n->Depth());
for(int i0=0;i0<gridpt_cnt;i0++)
@@ -35,10 +35,10 @@ namespace DeviceWrapper{

void free_device(char* dev_handle, uintptr_t dev_ptr);

template <int SYNC=__DEVICE_SYNC__>
template <int SYNC=PVFMM_DEVICE_SYNC>
int host2device(char* host_ptr, char* dev_handle, uintptr_t dev_ptr, size_t len);

template <int SYNC=__DEVICE_SYNC__>
template <int SYNC=PVFMM_DEVICE_SYNC>
int device2host(char* dev_handle, uintptr_t dev_ptr, char* host_ptr, size_t len);

void wait(int lock_idx);
@@ -64,7 +64,7 @@ Note: Any MIC offload section should look like this:
MIC_Lock::release_lock(lock_idx);
}
#ifdef __DEVICE_SYNC__
#ifdef PVFMM_DEVICE_SYNC
MIC_Lock::wait_lock(lock_idx);
#endif
Oops, something went wrong.

0 comments on commit 67595dd

Please sign in to comment.
You can’t perform that action at this time.