From a519dc3e9a2cd96adc87d1ee9c41f2bcbab3c836 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 26 Aug 2021 16:33:39 -0600 Subject: [PATCH] make DIELECTRIC package use of GridComm compatible with new version --- src/DIELECTRIC/msm_dielectric.cpp | 40 +++++------ src/DIELECTRIC/pppm_dielectric.cpp | 20 +++--- src/DIELECTRIC/pppm_disp_dielectric.cpp | 90 +++++++++++++------------ 3 files changed, 76 insertions(+), 74 deletions(-) diff --git a/src/DIELECTRIC/msm_dielectric.cpp b/src/DIELECTRIC/msm_dielectric.cpp index 2759f21248..8ee1c19ac3 100644 --- a/src/DIELECTRIC/msm_dielectric.cpp +++ b/src/DIELECTRIC/msm_dielectric.cpp @@ -136,8 +136,8 @@ void MSMDielectric::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm_kspace(this,1,sizeof(double),REVERSE_RHO, - gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_RHO, + gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points // compute direct sum interaction and then restrict to coarser grid @@ -145,8 +145,8 @@ void MSMDielectric::compute(int eflag, int vflag) for (int n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm_kspace(this,1,sizeof(double),FORWARD_RHO, - gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_RHO, + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); } @@ -158,16 +158,16 @@ void MSMDielectric::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm_kspace(this,1,sizeof(double),FORWARD_RHO, - gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_RHO, + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm_kspace(this,1,sizeof(double),REVERSE_AD, - gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_AD, + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm_kspace(this,6,sizeof(double),REVERSE_AD_PERATOM, - gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(GridComm::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { // Here using MPI_Allreduce is cheaper than using commgrid @@ -177,8 +177,8 @@ void MSMDielectric::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm_kspace(this,6,sizeof(double),REVERSE_AD_PERATOM, - gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(GridComm::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -190,28 +190,28 @@ void MSMDielectric::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm_kspace(this,1,sizeof(double),REVERSE_AD, - gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_AD, + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm_kspace(this,6,sizeof(double),REVERSE_AD_PERATOM, - gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm_kspace(this,1,sizeof(double),FORWARD_AD, - gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_AD, + gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm_kspace(this,6,sizeof(double),FORWARD_AD_PERATOM, - gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->forward_comm(GridComm::KSPACE,this,6,sizeof(double),FORWARD_AD_PERATOM, + gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) diff --git a/src/DIELECTRIC/pppm_dielectric.cpp b/src/DIELECTRIC/pppm_dielectric.cpp index 88c0e4c449..f044387852 100644 --- a/src/DIELECTRIC/pppm_dielectric.cpp +++ b/src/DIELECTRIC/pppm_dielectric.cpp @@ -130,8 +130,8 @@ void PPPMDielectric::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm_kspace(this,1,sizeof(FFT_SCALAR),REVERSE_RHO, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); // compute potential gradient on my FFT grid and @@ -145,21 +145,21 @@ void PPPMDielectric::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm_kspace(this,1,sizeof(FFT_SCALAR),FORWARD_AD, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm_kspace(this,3,sizeof(FFT_SCALAR),FORWARD_IK, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm_kspace(this,6,sizeof(FFT_SCALAR),FORWARD_AD_PERATOM, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm_kspace(this,7,sizeof(FFT_SCALAR),FORWARD_IK_PERATOM, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } // calculate the force on my particles diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index 944225dd43..8c423543c2 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -152,8 +152,8 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_c(); - gc->reverse_comm_kspace(this,1,sizeof(FFT_SCALAR),REVERSE_RHO, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in, density_brick,density_fft,work1,remap); @@ -167,14 +167,14 @@ void PPPMDispDielectric::compute(int eflag, int vflag) virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm_kspace(this,1,sizeof(FFT_SCALAR),FORWARD_AD, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ad(); if (vflag_atom) - gc->forward_comm_kspace(this,6,sizeof(FFT_SCALAR),FORWARD_AD_PERATOM, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1,work2,density_fft,fft1,fft2, @@ -186,14 +186,14 @@ void PPPMDispDielectric::compute(int eflag, int vflag) vdx_brick,vdy_brick,vdz_brick,virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm_kspace(this,3,sizeof(FFT_SCALAR),FORWARD_IK, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ik(); if (evflag_atom) - gc->forward_comm_kspace(this,7,sizeof(FFT_SCALAR),FORWARD_IK_PERATOM, - gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_c_peratom(); @@ -210,8 +210,8 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_g(); - gc6->reverse_comm_kspace(this,1,sizeof(FFT_SCALAR),REVERSE_RHO_GEOM, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + REVERSE_RHO_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, density_brick_g,density_fft_g,work1_6,remap_6); @@ -226,14 +226,15 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm_kspace(this,1,sizeof(FFT_SCALAR),FORWARD_AD_GEOM, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + FORWARD_AD_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ad(); if (vflag_atom) - gc6->forward_comm_kspace(this,6,sizeof(FFT_SCALAR),FORWARD_AD_PERATOM_GEOM, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + FORWARD_AD_PERATOM_GEOM, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1_6,work2_6,density_fft_g,fft1_6,fft2_6, @@ -246,14 +247,15 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm_kspace(this,3,sizeof(FFT_SCALAR),FORWARD_IK_GEOM, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + FORWARD_IK_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ik(); if (evflag_atom) - gc6->forward_comm_kspace(this,7,sizeof(FFT_SCALAR),FORWARD_IK_PERATOM_GEOM, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + FORWARD_IK_PERATOM_GEOM, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_g_peratom(); @@ -270,8 +272,8 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_a(); - gc6->reverse_comm_kspace(this,7,sizeof(FFT_SCALAR),REVERSE_RHO_ARITH, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + REVERSE_RHO_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_a(); @@ -300,14 +302,15 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm_kspace(this,7,sizeof(FFT_SCALAR),FORWARD_AD_ARITH, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + FORWARD_AD_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ad(); if (evflag_atom) - gc6->forward_comm_kspace(this,42,sizeof(FFT_SCALAR),FORWARD_AD_PERATOM_ARITH, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,42,sizeof(FFT_SCALAR), + FORWARD_AD_PERATOM_ARITH, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1_6,work2_6,density_fft_a3,fft1_6,fft2_6, @@ -341,14 +344,15 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm_kspace(this,21,sizeof(FFT_SCALAR),FORWARD_IK_ARITH, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,21,sizeof(FFT_SCALAR), + FORWARD_IK_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ik(); if (evflag_atom) - gc6->forward_comm_kspace(this,49,sizeof(FFT_SCALAR),FORWARD_IK_PERATOM_ARITH, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,49,sizeof(FFT_SCALAR), + FORWARD_IK_PERATOM_ARITH, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_a_peratom(); @@ -365,8 +369,8 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_none(); - gc6->reverse_comm_kspace(this,nsplit_alloc,sizeof(FFT_SCALAR),REVERSE_RHO_NONE, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(GridComm::KSPACE,this,nsplit_alloc,sizeof(FFT_SCALAR), + REVERSE_RHO_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_none(); @@ -380,16 +384,15 @@ void PPPMDispDielectric::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm_kspace(this,1*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_AD_NONE, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,1*nsplit_alloc,sizeof(FFT_SCALAR), + FORWARD_AD_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ad(); if (vflag_atom) - gc6->forward_comm_kspace(this,6*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_NONE, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,6*nsplit_alloc,sizeof(FFT_SCALAR), + FORWARD_AD_PERATOM_NONE, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { int n = 0; @@ -402,16 +405,15 @@ void PPPMDispDielectric::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm_kspace(this,3*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_IK_NONE, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,3*nsplit_alloc,sizeof(FFT_SCALAR), + FORWARD_IK_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ik(); if (evflag_atom) - gc6->forward_comm_kspace(this,7*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_NONE, - gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(GridComm::KSPACE,this,7*nsplit_alloc,sizeof(FFT_SCALAR), + FORWARD_IK_PERATOM_NONE, + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_none_peratom();