Remove forcerec from dispatchFreeEnergyKernel signature
authorJoe Jordan <ejjordan12@gmail.com>
Mon, 24 May 2021 11:53:02 +0000 (11:53 +0000)
committerMark Abraham <mark.j.abraham@gmail.com>
Mon, 24 May 2021 11:53:02 +0000 (11:53 +0000)
src/gromacs/mdlib/sim_util.cpp
src/gromacs/nbnxm/kerneldispatch.cpp
src/gromacs/nbnxm/nbnxm.h

index b496d2639f8f5f9193d135e5a8139fdc5adddd17..67cc9ee160b8b3b061ced626e0dfa602da8a9882 100644 (file)
@@ -1764,9 +1764,15 @@ void do_force(FILE*                               fplog,
          */
         nbv->dispatchFreeEnergyKernel(
                 InteractionLocality::Local,
-                *fr,
                 x.unpaddedArrayRef(),
                 &forceOutNonbonded->forceWithShiftForces(),
+                fr->use_simd_kernels,
+                fr->ntype,
+                fr->rlist,
+                *fr->ic,
+                fr->shift_vec,
+                fr->nbfp,
+                fr->ljpme_c6grid,
                 mdatoms->chargeA ? gmx::arrayRefFromArray(mdatoms->chargeA, mdatoms->nr)
                                  : gmx::ArrayRef<real>{},
                 mdatoms->chargeB ? gmx::arrayRefFromArray(mdatoms->chargeB, mdatoms->nr)
@@ -1785,9 +1791,15 @@ void do_force(FILE*                               fplog,
         {
             nbv->dispatchFreeEnergyKernel(
                     InteractionLocality::NonLocal,
-                    *fr,
                     x.unpaddedArrayRef(),
                     &forceOutNonbonded->forceWithShiftForces(),
+                    fr->use_simd_kernels,
+                    fr->ntype,
+                    fr->rlist,
+                    *fr->ic,
+                    fr->shift_vec,
+                    fr->nbfp,
+                    fr->ljpme_c6grid,
                     mdatoms->chargeA ? gmx::arrayRefFromArray(mdatoms->chargeA, mdatoms->nr)
                                      : gmx::ArrayRef<real>{},
                     mdatoms->chargeB ? gmx::arrayRefFromArray(mdatoms->chargeB, mdatoms->nr)
index acaa19b91214a4f9b3a602d52e5caeae839c1013..3e7da8adf8ff31a893e3a64ba749174bcb2045d2 100644 (file)
@@ -493,18 +493,24 @@ void nonbonded_verlet_t::dispatchNonbondedKernel(gmx::InteractionLocality
 }
 
 void nonbonded_verlet_t::dispatchFreeEnergyKernel(gmx::InteractionLocality       iLocality,
-                                                  const t_forcerec&              fr,
                                                   gmx::ArrayRef<const gmx::RVec> coords,
                                                   gmx::ForceWithShiftForces* forceWithShiftForces,
-                                                  gmx::ArrayRef<const real>  chargeA,
-                                                  gmx::ArrayRef<const real>  chargeB,
-                                                  gmx::ArrayRef<const int>   typeA,
-                                                  gmx::ArrayRef<const int>   typeB,
-                                                  t_lambda*                  fepvals,
-                                                  gmx::ArrayRef<const real>  lambda,
-                                                  gmx_enerdata_t*            enerd,
-                                                  const gmx::StepWorkload&   stepWork,
-                                                  t_nrnb*                    nrnb)
+                                                  bool                       useSimd,
+                                                  int                        ntype,
+                                                  real                       rlist,
+                                                  const interaction_const_t& ic,
+                                                  gmx::ArrayRef<const gmx::RVec> shiftvec,
+                                                  gmx::ArrayRef<const real>      nbfp,
+                                                  gmx::ArrayRef<const real>      nbfp_grid,
+                                                  gmx::ArrayRef<const real>      chargeA,
+                                                  gmx::ArrayRef<const real>      chargeB,
+                                                  gmx::ArrayRef<const int>       typeA,
+                                                  gmx::ArrayRef<const int>       typeB,
+                                                  t_lambda*                      fepvals,
+                                                  gmx::ArrayRef<const real>      lambda,
+                                                  gmx_enerdata_t*                enerd,
+                                                  const gmx::StepWorkload&       stepWork,
+                                                  t_nrnb*                        nrnb)
 {
     const auto nbl_fep = pairlistSets().pairlistSet(iLocality).fepLists();
 
@@ -551,13 +557,13 @@ void nonbonded_verlet_t::dispatchFreeEnergyKernel(gmx::InteractionLocality
             gmx_nb_free_energy_kernel(*nbl_fep[th],
                                       coords,
                                       forceWithShiftForces,
-                                      fr.use_simd_kernels,
-                                      fr.ntype,
-                                      fr.rlist,
-                                      *fr.ic,
-                                      fr.shift_vec,
-                                      fr.nbfp,
-                                      fr.ljpme_c6grid,
+                                      useSimd,
+                                      ntype,
+                                      rlist,
+                                      ic,
+                                      shiftvec,
+                                      nbfp,
+                                      nbfp_grid,
                                       chargeA,
                                       chargeB,
                                       typeA,
@@ -618,13 +624,13 @@ void nonbonded_verlet_t::dispatchFreeEnergyKernel(gmx::InteractionLocality
                     gmx_nb_free_energy_kernel(*nbl_fep[th],
                                               coords,
                                               forceWithShiftForces,
-                                              fr.use_simd_kernels,
-                                              fr.ntype,
-                                              fr.rlist,
-                                              *fr.ic,
-                                              fr.shift_vec,
-                                              fr.nbfp,
-                                              fr.ljpme_c6grid,
+                                              useSimd,
+                                              ntype,
+                                              rlist,
+                                              ic,
+                                              shiftvec,
+                                              nbfp,
+                                              nbfp_grid,
                                               chargeA,
                                               chargeB,
                                               typeA,
index 5195a61f92bda15c440f354a05c4f7cbcdbffc2a..7939f1499d3d7abbe9debb0ef84f1d546e19963b 100644 (file)
@@ -369,9 +369,15 @@ public:
 
     //! Executes the non-bonded free-energy kernel, always runs on the CPU
     void dispatchFreeEnergyKernel(gmx::InteractionLocality       iLocality,
-                                  const t_forcerec&              fr,
                                   gmx::ArrayRef<const gmx::RVec> coords,
                                   gmx::ForceWithShiftForces*     forceWithShiftForces,
+                                  bool                           useSimd,
+                                  int                            ntype,
+                                  real                           rlist,
+                                  const interaction_const_t&     ic,
+                                  gmx::ArrayRef<const gmx::RVec> shiftvec,
+                                  gmx::ArrayRef<const real>      nbfp,
+                                  gmx::ArrayRef<const real>      nbfp_grid,
                                   gmx::ArrayRef<const real>      chargeA,
                                   gmx::ArrayRef<const real>      chargeB,
                                   gmx::ArrayRef<const int>       typeA,