mdlib -> ewald
mdlib -> pulling
mdlib -> awh
+nbnxm -> domdec
+nbnxm -> mdlib
simd -> hardware
gpu_utils -> hardware
listed_forces -> mdlib
return (self._files['src/config.h'],
self._files['src/gromacs/simd/simd.h'],
self._files['src/gromacs/ewald/pme_simd.h'],
- self._files['src/gromacs/mdlib/nbnxn_simd.h'])
+ self._files['src/gromacs/nbnxm/nbnxm_simd.h'])
src/gromacs/ewald/pme_spline_work.cpp: warning: includes "simd.h" unnecessarily
src/gromacs/ewald/pme_spline_work.h: warning: includes "simd.h" unnecessarily
src/gromacs/ewald/pme_spread.cpp: warning: includes "simd.h" unnecessarily
-src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h: warning: should include "simd.h"
-src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h: warning: should include "simd.h"
-src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h: warning: should include "simd.h"
-src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h: warning: should include "simd.h"
-src/gromacs/mdlib/nbnxn_search_simd_2xnn.h: warning: should include "simd.h"
-src/gromacs/mdlib/nbnxn_search_simd_4xn.h: warning: should include "simd.h"
+src/gromacs/nbnxm/kernels_simd_2xmm/kernel_inner.h: warning: should include "simd.h"
+src/gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h: warning: should include "simd.h"
+src/gromacs/nbnxm/kernels_simd_4xm/kernel_inner.h: warning: should include "simd.h"
+src/gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h: warning: should include "simd.h"
+src/gromacs/nbnxm/pairlist_simd_2xmm.h: warning: should include "simd.h"
+src/gromacs/nbnxm/pairlist_simd_4xm.h: warning: should include "simd.h"
# This module name doesn't really fall into any currently used pattern; needs some thought
: error: no matching directory for module: module_mdrun_integration_tests
# These would be nice to fix, but can wait for later / deletion / rewrites
-src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.cpp: warning: includes "config.h" unnecessarily
-src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.cpp: warning: includes "config.h" unnecessarily
-src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h: warning: should include "config.h"
-src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h: warning: should include "nbnxn_simd.h"
-src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h: warning: should include "nbnxn_simd.h"
+src/gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h: warning: should include "nbnxm_simd.h"
+src/gromacs/nbnxm/kernels_simd_4xm/kernel_common.h: warning: should include "nbnxm_simd.h"
# Temporary while we change the SIMD implementation
src/gromacs/simd/impl_sparc64_hpc_ace/impl_sparc64_hpc_ace_common.h: warning: should include "simd.h"
add_subdirectory(mdlib)
add_subdirectory(applied_forces)
add_subdirectory(listed_forces)
+add_subdirectory(nbnxm)
add_subdirectory(commandline)
add_subdirectory(domdec)
add_subdirectory(ewald)
DESTINATION ${GMX_INSTALL_OCLDIR}/gromacs/pbcutil
COMPONENT libraries)
- # Install the NB source and headers
+ # Install the NBNXM source and headers
file(GLOB OPENCL_INSTALLED_FILES
- mdlib/nbnxn_consts.h
+ nbnxm/constants.h
)
install(FILES ${OPENCL_INSTALLED_FILES}
- DESTINATION ${GMX_INSTALL_OCLDIR}/gromacs/mdlib
+ DESTINATION ${GMX_INSTALL_OCLDIR}/gromacs/nbnxm
COMPONENT libraries)
file(GLOB OPENCL_INSTALLED_FILES
- mdlib/nbnxn_ocl/nbnxn_ocl_kernels.cl
- mdlib/nbnxn_ocl/nbnxn_ocl_kernel.clh
- mdlib/nbnxn_ocl/nbnxn_ocl_kernel_pruneonly.clh
- mdlib/nbnxn_ocl/nbnxn_ocl_kernels.clh
- mdlib/nbnxn_ocl/nbnxn_ocl_kernels_fastgen.clh
- mdlib/nbnxn_ocl/nbnxn_ocl_kernels_fastgen_add_twincut.clh
- mdlib/nbnxn_ocl/nbnxn_ocl_kernel_utils.clh
- mdlib/nbnxn_ocl/nbnxn_ocl_consts.h
+ nbnxm/opencl/nbnxm_ocl_kernels.cl
+ nbnxm/opencl/nbnxm_ocl_kernel.clh
+ nbnxm/opencl/nbnxm_ocl_kernel_pruneonly.clh
+ nbnxm/opencl/nbnxm_ocl_kernels.clh
+ nbnxm/opencl/nbnxm_ocl_kernels_fastgen.clh
+ nbnxm/opencl/nbnxm_ocl_kernels_fastgen_add_twincut.clh
+ nbnxm/opencl/nbnxm_ocl_kernel_utils.clh
+ nbnxm/opencl/nbnxm_ocl_consts.h
)
install(FILES ${OPENCL_INSTALLED_FILES}
- DESTINATION ${GMX_INSTALL_OCLDIR}/gromacs/mdlib/nbnxn_ocl
+ DESTINATION ${GMX_INSTALL_OCLDIR}/gromacs/nbnxm/opencl
COMPONENT libraries)
# Install the PME source and headers
#include "gromacs/mdlib/gmx_omp_nthreads.h"
#include "gromacs/mdlib/mdatoms.h"
#include "gromacs/mdlib/mdsetup.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_grid.h"
#include "gromacs/mdlib/nsgrid.h"
#include "gromacs/mdlib/vsite.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/mdtypes/nblist.h"
#include "gromacs/mdtypes/state.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pulling/pull.h"
#include "gromacs/timing/wallcycle.h"
#include "gromacs/topology/mtop_util.h"
#include "gromacs/math/functions.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/forcerec.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
#include "gromacs/mdlib/sim_util.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/mdtypes/state.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/timing/wallcycle.h"
#include "gromacs/utility/cstringutil.h"
#
# This file is part of the GROMACS molecular simulation package.
#
-# Copyright (c) 2010,2012,2013,2014,2015,2018, by the GROMACS development team, led by
+# Copyright (c) 2010,2012,2013,2014,2015,2018,2019, by the GROMACS development team, led by
# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
# and including many others, as listed in the AUTHORS file in the
# top-level source directory and at http://www.gromacs.org.
# To help us fund GROMACS development, we humbly ask that you cite
# the research papers on the package. Check out http://www.gromacs.org.
-file(GLOB MDLIB_SOURCES nbnxn_kernels/simd_4xn/*.cpp nbnxn_kernels/simd_2xnn/*.cpp nbnxn_kernels/*.cpp *.cpp)
-
-if(GMX_USE_CUDA)
- add_subdirectory(nbnxn_cuda)
-endif()
-if(GMX_USE_OPENCL)
- add_subdirectory(nbnxn_ocl)
- set(MDLIB_OPENCL_KERNELS ${MDLIB_OPENCL_KERNELS} PARENT_SCOPE)
-endif()
+file(GLOB MDLIB_SOURCES *.cpp)
set(MDLIB_SOURCES ${MDLIB_SOURCES} PARENT_SCOPE)
if (BUILD_TESTING)
#include "gromacs/math/functions.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
-#include "gromacs/mdlib/nbnxn_util.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/nbnxm_geometry.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#include "gromacs/topology/block.h"
#include "gromacs/topology/ifunc.h"
#include "gromacs/topology/topology.h"
#include "gromacs/mdlib/forcerec_threading.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
#include "gromacs/mdlib/md_support.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_atomdata.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
-#include "gromacs/mdlib/nbnxn_grid.h"
-#include "gromacs/mdlib/nbnxn_internal.h"
-#include "gromacs/mdlib/nbnxn_search.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
-#include "gromacs/mdlib/nbnxn_tuning.h"
-#include "gromacs/mdlib/nbnxn_util.h"
#include "gromacs/mdlib/ns.h"
#include "gromacs/mdlib/qmmm.h"
#include "gromacs/mdlib/rf_util.h"
#include "gromacs/mdtypes/iforceprovider.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/pbcutil/pbc.h"
-#include "gromacs/simd/simd.h"
#include "gromacs/tables/forcetable.h"
#include "gromacs/topology/mtop_util.h"
#include "gromacs/trajectory/trajectoryframe.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/strconvert.h"
-#include "nbnxn_gpu_jit_support.h"
-
t_forcerec *mk_forcerec()
{
t_forcerec *fr;
return cutoff;
}
-gmx_bool nbnxn_simd_supported(const gmx::MDLogger &mdlog,
- const t_inputrec *ir)
-{
- if (ir->vdwtype == evdwPME && ir->ljpme_combination_rule == eljpmeLB)
- {
- /* LJ PME with LB combination rule does 7 mesh operations.
- * This so slow that we don't compile SIMD non-bonded kernels
- * for that. */
- GMX_LOG(mdlog.warning).asParagraph().appendText("LJ-PME with Lorentz-Berthelot is not supported with SIMD kernels, falling back to plain C kernels");
- return FALSE;
- }
-
- return TRUE;
-}
-
-
-static void pick_nbnxn_kernel_cpu(const t_inputrec gmx_unused *ir,
- int *kernel_type,
- int *ewald_excl,
- const gmx_hw_info_t gmx_unused &hardwareInfo)
-{
- *kernel_type = nbnxnk4x4_PlainC;
- *ewald_excl = ewaldexclTable;
-
-#if GMX_SIMD
- {
-#ifdef GMX_NBNXN_SIMD_4XN
- *kernel_type = nbnxnk4xN_SIMD_4xN;
-#endif
-#ifdef GMX_NBNXN_SIMD_2XNN
- *kernel_type = nbnxnk4xN_SIMD_2xNN;
-#endif
-
-#if defined GMX_NBNXN_SIMD_2XNN && defined GMX_NBNXN_SIMD_4XN
- /* We need to choose if we want 2x(N+N) or 4xN kernels.
- * This is based on the SIMD acceleration choice and CPU information
- * detected at runtime.
- *
- * 4xN calculates more (zero) interactions, but has less pair-search
- * work and much better kernel instruction scheduling.
- *
- * Up till now we have only seen that on Intel Sandy/Ivy Bridge,
- * which doesn't have FMA, both the analytical and tabulated Ewald
- * kernels have similar pair rates for 4x8 and 2x(4+4), so we choose
- * 2x(4+4) because it results in significantly fewer pairs.
- * For RF, the raw pair rate of the 4x8 kernel is higher than 2x(4+4),
- * 10% with HT, 50% without HT. As we currently don't detect the actual
- * use of HT, use 4x8 to avoid a potential performance hit.
- * On Intel Haswell 4x8 is always faster.
- */
- *kernel_type = nbnxnk4xN_SIMD_4xN;
-
-#if !GMX_SIMD_HAVE_FMA
- if (EEL_PME_EWALD(ir->coulombtype) ||
- EVDW_PME(ir->vdwtype))
- {
- /* We have Ewald kernels without FMA (Intel Sandy/Ivy Bridge).
- * There are enough instructions to make 2x(4+4) efficient.
- */
- *kernel_type = nbnxnk4xN_SIMD_2xNN;
- }
-#endif
- if (hardwareInfo.haveAmdZenCpu)
- {
- /* One 256-bit FMA per cycle makes 2xNN faster */
- *kernel_type = nbnxnk4xN_SIMD_2xNN;
- }
-#endif /* GMX_NBNXN_SIMD_2XNN && GMX_NBNXN_SIMD_4XN */
-
-
- if (getenv("GMX_NBNXN_SIMD_4XN") != nullptr)
- {
-#ifdef GMX_NBNXN_SIMD_4XN
- *kernel_type = nbnxnk4xN_SIMD_4xN;
-#else
- gmx_fatal(FARGS, "SIMD 4xN kernels requested, but GROMACS has been compiled without support for these kernels");
-#endif
- }
- if (getenv("GMX_NBNXN_SIMD_2XNN") != nullptr)
- {
-#ifdef GMX_NBNXN_SIMD_2XNN
- *kernel_type = nbnxnk4xN_SIMD_2xNN;
-#else
- gmx_fatal(FARGS, "SIMD 2x(N+N) kernels requested, but GROMACS has been compiled without support for these kernels");
-#endif
- }
-
- /* Analytical Ewald exclusion correction is only an option in
- * the SIMD kernel.
- * Since table lookup's don't parallelize with SIMD, analytical
- * will probably always be faster for a SIMD width of 8 or more.
- * With FMA analytical is sometimes faster for a width if 4 as well.
- * In single precision, this is faster on Bulldozer.
- */
-#if GMX_SIMD_REAL_WIDTH >= 8 || \
- (GMX_SIMD_REAL_WIDTH >= 4 && GMX_SIMD_HAVE_FMA && !GMX_DOUBLE)
- /* On AMD Zen, tabulated Ewald kernels are faster on all 4 combinations
- * of single or double precision and 128 or 256-bit AVX2.
- */
- if (!hardwareInfo.haveAmdZenCpu)
- {
- *ewald_excl = ewaldexclAnalytical;
- }
-#endif
- if (getenv("GMX_NBNXN_EWALD_TABLE") != nullptr)
- {
- *ewald_excl = ewaldexclTable;
- }
- if (getenv("GMX_NBNXN_EWALD_ANALYTICAL") != nullptr)
- {
- *ewald_excl = ewaldexclAnalytical;
- }
-
- }
-#endif // GMX_SIMD
-}
-
-
-const char *lookup_nbnxn_kernel_name(int kernel_type)
-{
- const char *returnvalue = nullptr;
- switch (kernel_type)
- {
- case nbnxnkNotSet:
- returnvalue = "not set";
- break;
- case nbnxnk4x4_PlainC:
- returnvalue = "plain C";
- break;
- case nbnxnk4xN_SIMD_4xN:
- case nbnxnk4xN_SIMD_2xNN:
-#if GMX_SIMD
- returnvalue = "SIMD";
-#else // GMX_SIMD
- returnvalue = "not available";
-#endif // GMX_SIMD
- break;
- case nbnxnk8x8x8_GPU: returnvalue = "GPU"; break;
- case nbnxnk8x8x8_PlainC: returnvalue = "plain C"; break;
-
- case nbnxnkNR:
- default:
- gmx_fatal(FARGS, "Illegal kernel type selected");
- }
- return returnvalue;
-};
-
-static void pick_nbnxn_kernel(const gmx::MDLogger &mdlog,
- gmx_bool use_simd_kernels,
- const gmx_hw_info_t &hardwareInfo,
- gmx_bool bUseGPU,
- EmulateGpuNonbonded emulateGpu,
- const t_inputrec *ir,
- int *kernel_type,
- int *ewald_excl,
- gmx_bool bDoNonbonded)
-{
- assert(kernel_type);
-
- *kernel_type = nbnxnkNotSet;
- *ewald_excl = ewaldexclTable;
-
- if (emulateGpu == EmulateGpuNonbonded::Yes)
- {
- *kernel_type = nbnxnk8x8x8_PlainC;
-
- if (bDoNonbonded)
- {
- GMX_LOG(mdlog.warning).asParagraph().appendText("Emulating a GPU run on the CPU (slow)");
- }
- }
- else if (bUseGPU)
- {
- *kernel_type = nbnxnk8x8x8_GPU;
- }
-
- if (*kernel_type == nbnxnkNotSet)
- {
- if (use_simd_kernels &&
- nbnxn_simd_supported(mdlog, ir))
- {
- pick_nbnxn_kernel_cpu(ir, kernel_type, ewald_excl, hardwareInfo);
- }
- else
- {
- *kernel_type = nbnxnk4x4_PlainC;
- }
- }
-
- if (bDoNonbonded)
- {
- GMX_LOG(mdlog.info).asParagraph().appendTextFormatted(
- "Using %s %dx%d nonbonded short-range kernels",
- lookup_nbnxn_kernel_name(*kernel_type),
- nbnxn_kernel_to_cluster_i_size(*kernel_type),
- nbnxn_kernel_to_cluster_j_size(*kernel_type));
-
- if (nbnxnk4x4_PlainC == *kernel_type ||
- nbnxnk8x8x8_PlainC == *kernel_type)
- {
- GMX_LOG(mdlog.warning).asParagraph().appendTextFormatted(
- "WARNING: Using the slow %s kernels. This should\n"
- "not happen during routine usage on supported platforms.",
- lookup_nbnxn_kernel_name(*kernel_type));
- }
- }
-}
-
/*! \brief Print Coulomb Ewald citations and set ewald coefficients */
static void initCoulombEwaldParameters(FILE *fp, const t_inputrec *ir,
bool systemHasNetCharge,
sfree(interaction_const);
}
-static void init_nb_verlet(const gmx::MDLogger &mdlog,
- nonbonded_verlet_t **nb_verlet,
- gmx_bool bFEP_NonBonded,
- const t_inputrec *ir,
- const t_forcerec *fr,
- const t_commrec *cr,
- const gmx_hw_info_t &hardwareInfo,
- const gmx_device_info_t *deviceInfo,
- const gmx_mtop_t *mtop,
- matrix box)
-{
- nonbonded_verlet_t *nbv;
- char *env;
-
- nbv = new nonbonded_verlet_t();
-
- nbv->emulateGpu = ((getenv("GMX_EMULATE_GPU") != nullptr) ? EmulateGpuNonbonded::Yes : EmulateGpuNonbonded::No);
- nbv->bUseGPU = deviceInfo != nullptr;
-
- GMX_RELEASE_ASSERT(!(nbv->emulateGpu == EmulateGpuNonbonded::Yes && nbv->bUseGPU), "When GPU emulation is active, there cannot be a GPU assignment");
-
- nbv->nbs = nullptr;
- nbv->min_ci_balanced = 0;
-
- nbv->ngrp = (DOMAINDECOMP(cr) ? 2 : 1);
- for (int i = 0; i < nbv->ngrp; i++)
- {
- nbv->grp[i].nbl_lists.nnbl = 0;
- nbv->grp[i].kernel_type = nbnxnkNotSet;
-
- if (i == 0) /* local */
- {
- pick_nbnxn_kernel(mdlog, fr->use_simd_kernels, hardwareInfo,
- nbv->bUseGPU, nbv->emulateGpu, ir,
- &nbv->grp[i].kernel_type,
- &nbv->grp[i].ewald_excl,
- fr->bNonbonded);
- }
- else /* non-local */
- {
- /* Use the same kernel for local and non-local interactions */
- nbv->grp[i].kernel_type = nbv->grp[0].kernel_type;
- nbv->grp[i].ewald_excl = nbv->grp[0].ewald_excl;
- }
- }
-
- nbv->listParams = std::make_unique<NbnxnListParameters>(ir->rlist);
- setupDynamicPairlistPruning(mdlog, ir, mtop, box, nbv->grp[0].kernel_type, fr->ic,
- nbv->listParams.get());
-
- nbv->nbs = std::make_unique<nbnxn_search>(DOMAINDECOMP(cr) ? &cr->dd->nc : nullptr,
- DOMAINDECOMP(cr) ? domdec_zones(cr->dd) : nullptr,
- bFEP_NonBonded,
- gmx_omp_nthreads_get(emntPairsearch));
-
- for (int i = 0; i < nbv->ngrp; i++)
- {
- nbnxn_init_pairlist_set(&nbv->grp[i].nbl_lists,
- nbnxn_kernel_pairlist_simple(nbv->grp[i].kernel_type),
- /* 8x8x8 "non-simple" lists are ATM always combined */
- !nbnxn_kernel_pairlist_simple(nbv->grp[i].kernel_type));
- }
-
- int enbnxninitcombrule;
- if (fr->ic->vdwtype == evdwCUT &&
- (fr->ic->vdw_modifier == eintmodNONE ||
- fr->ic->vdw_modifier == eintmodPOTSHIFT) &&
- getenv("GMX_NO_LJ_COMB_RULE") == nullptr)
- {
- /* Plain LJ cut-off: we can optimize with combination rules */
- enbnxninitcombrule = enbnxninitcombruleDETECT;
- }
- else if (fr->ic->vdwtype == evdwPME)
- {
- /* LJ-PME: we need to use a combination rule for the grid */
- if (fr->ljpme_combination_rule == eljpmeGEOM)
- {
- enbnxninitcombrule = enbnxninitcombruleGEOM;
- }
- else
- {
- enbnxninitcombrule = enbnxninitcombruleLB;
- }
- }
- else
- {
- /* We use a full combination matrix: no rule required */
- enbnxninitcombrule = enbnxninitcombruleNONE;
- }
-
- nbv->nbat = new nbnxn_atomdata_t(nbv->bUseGPU ? gmx::PinningPolicy::PinnedIfSupported : gmx::PinningPolicy::CannotBePinned);
- int mimimumNumEnergyGroupNonbonded = ir->opts.ngener;
- if (ir->opts.ngener - ir->nwall == 1)
- {
- /* We have only one non-wall energy group, we do not need energy group
- * support in the non-bondeds kernels, since all non-bonded energy
- * contributions go to the first element of the energy group matrix.
- */
- mimimumNumEnergyGroupNonbonded = 1;
- }
- bool bSimpleList = nbnxn_kernel_pairlist_simple(nbv->grp[0].kernel_type);
- nbnxn_atomdata_init(mdlog,
- nbv->nbat,
- nbv->grp[0].kernel_type,
- enbnxninitcombrule,
- fr->ntype, fr->nbfp,
- mimimumNumEnergyGroupNonbonded,
- bSimpleList ? gmx_omp_nthreads_get(emntNonbonded) : 1);
-
- if (nbv->bUseGPU)
- {
- /* init the NxN GPU data; the last argument tells whether we'll have
- * both local and non-local NB calculation on GPU */
- nbnxn_gpu_init(&nbv->gpu_nbv,
- deviceInfo,
- fr->ic,
- nbv->listParams.get(),
- nbv->nbat,
- cr->nodeid,
- (nbv->ngrp > 1));
-
- if ((env = getenv("GMX_NB_MIN_CI")) != nullptr)
- {
- char *end;
-
- nbv->min_ci_balanced = strtol(env, &end, 10);
- if (!end || (*end != 0) || nbv->min_ci_balanced < 0)
- {
- gmx_fatal(FARGS, "Invalid value passed in GMX_NB_MIN_CI=%s, non-negative integer required", env);
- }
-
- if (debug)
- {
- fprintf(debug, "Neighbor-list balancing parameter: %d (passed as env. var.)\n",
- nbv->min_ci_balanced);
- }
- }
- else
- {
- nbv->min_ci_balanced = nbnxn_gpu_min_ci_balanced(nbv->gpu_nbv);
- if (debug)
- {
- fprintf(debug, "Neighbor-list balancing parameter: %d (auto-adjusted to the number of GPU multi-processors)\n",
- nbv->min_ci_balanced);
- }
- }
-
- }
-
- *nb_verlet = nbv;
-}
-
-gmx_bool usingGpu(nonbonded_verlet_t *nbv)
-{
- return nbv != nullptr && nbv->bUseGPU;
-}
-
void init_forcerec(FILE *fp,
const gmx::MDLogger &mdlog,
t_forcerec *fr,
* with the type of kernel indicated.
*/
-gmx_bool nbnxn_simd_supported(const gmx::MDLogger &mdlog,
- const t_inputrec *ir);
-/* Return if CPU SIMD support exists for the given inputrec
- * If the return value is FALSE and fplog/cr != NULL, prints a fallback
- * message to fplog/stderr.
- */
-
/* Compute the average C6 and C12 params for LJ corrections */
void set_avcsixtwelve(FILE *fplog, t_forcerec *fr,
const gmx_mtop_t *mtop);
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 2012,2013,2014,2015,2017,2018, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-
-#ifndef _nbnxn_grid_h
-#define _nbnxn_grid_h
-
-#include "gromacs/math/vectypes.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_internal.h"
-#include "gromacs/utility/arrayref.h"
-#include "gromacs/utility/real.h"
-
-struct gmx_domdec_zones_t;
-namespace gmx
-{
-class UpdateGroupsCog;
-}
-
-/* Put the atoms on the pair search grid.
- * Only atoms atomStart to atomEnd in x are put on the grid.
- * The atom_density is used to determine the grid size.
- * When atomDensity<=0, the density is determined from atomEnd-atomStart and the corners.
- * With domain decomposition part of the n particles might have migrated,
- * but have not been removed yet. This count is given by nmoved.
- * When move[i] < 0 particle i has migrated and will not be put on the grid.
- * Without domain decomposition move will be NULL.
- */
-void nbnxn_put_on_grid(nbnxn_search_t nbs,
- int ePBC,
- const matrix box,
- int ddZone,
- const rvec lowerCorner,
- const rvec upperCorner,
- const gmx::UpdateGroupsCog *updateGroupsCog,
- int atomStart,
- int atomEnd,
- real atomDensity,
- const int *atinfo,
- gmx::ArrayRef<const gmx::RVec> x,
- int numAtomsMoved,
- const int *move,
- int nb_kernel_type,
- nbnxn_atomdata_t *nbat);
-
-/* As nbnxn_put_on_grid, but for the non-local atoms
- * with domain decomposition. Should be called after calling
- * nbnxn_search_put_on_grid for the local atoms / home zone.
- */
-void nbnxn_put_on_grid_nonlocal(nbnxn_search_t nbs,
- const struct gmx_domdec_zones_t *zones,
- const int *atinfo,
- gmx::ArrayRef<const gmx::RVec> x,
- int nb_kernel_type,
- nbnxn_atomdata_t *nbat);
-
-/* Return the number of x and y cells in the local grid */
-void nbnxn_get_ncells(nbnxn_search_t nbs, int *ncx, int *ncy);
-
-/* Return the order indices of the atoms on the pairlist search grid */
-gmx::ArrayRef<const int> nbnxn_get_atomorder(const nbnxn_search* nbs);
-
-/* Renumber the atom indices on the grid to consecutive order */
-void nbnxn_set_atomorder(nbnxn_search_t nbs);
-
-/* Return the index position of the atoms on the pairlist search grid */
-gmx::ArrayRef<const int> nbnxn_get_gridindices(const nbnxn_search* nbs);
-
-#endif
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 2012,2013,2014,2015,2017,2018,2019, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-/*
- * Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
- */
-
-
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h"
-
-/* Declare all the different kernel functions.
- */
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn;
-
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn;
-
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJ_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJ_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn;
-
-
-
-#ifdef INCLUDE_KERNELFUNCTION_TABLES
-
-/* Declare and define the kernel function pointer lookup tables.
- * The minor index of the array goes over both the LJ combination rules,
- * which is only supported by plain cut-off, and the LJ switch/PME functions.
- */
-static p_nbk_func_noener nbnxn_kernel_noener_simd_2xnn[coulktNR][vdwktNR] =
-{
- {
- nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn,
- nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn,
- nbnxn_kernel_ElecRF_VdwLJ_F_2xnn,
- nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn,
- nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn,
- nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn,
- },
- {
- nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn,
- },
- {
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn,
- },
- {
- nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn,
- nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn,
- nbnxn_kernel_ElecEw_VdwLJ_F_2xnn,
- nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn,
- nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn,
- nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn,
- },
- {
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn,
- },
-};
-
-static p_nbk_func_ener nbnxn_kernel_ener_simd_2xnn[coulktNR][vdwktNR] =
-{
- {
- nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn,
- },
- {
- nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn,
- },
- {
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn,
- },
- {
- nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn,
- },
- {
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn,
- },
-};
-
-static p_nbk_func_ener nbnxn_kernel_energrp_simd_2xnn[coulktNR][vdwktNR] =
-{
- {
- nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn,
- nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn,
- },
- {
- nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn,
- },
- {
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn,
- },
- {
- nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn,
- nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn,
- },
- {
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn,
- },
-};
-
-
-#endif /* INCLUDE_KERNELFUNCTION_TABLES */
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 2012,2013,2014,2015,2017,2018,2019, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-/*
- * Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
- */
-
-
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h"
-
-/* Declare all the different kernel functions.
- */
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn;
-
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJ_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJ_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn;
-nbk_func_ener nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn;
-
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJ_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJ_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn;
-nbk_func_noener nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn;
-
-
-
-#ifdef INCLUDE_KERNELFUNCTION_TABLES
-
-/* Declare and define the kernel function pointer lookup tables.
- * The minor index of the array goes over both the LJ combination rules,
- * which is only supported by plain cut-off, and the LJ switch/PME functions.
- */
-static p_nbk_func_noener nbnxn_kernel_noener_simd_4xn[coulktNR][vdwktNR] =
-{
- {
- nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn,
- nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn,
- nbnxn_kernel_ElecRF_VdwLJ_F_4xn,
- nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn,
- nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn,
- nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn,
- },
- {
- nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn,
- },
- {
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn,
- },
- {
- nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn,
- nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn,
- nbnxn_kernel_ElecEw_VdwLJ_F_4xn,
- nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn,
- nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn,
- nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn,
- },
- {
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn,
- },
-};
-
-static p_nbk_func_ener nbnxn_kernel_ener_simd_4xn[coulktNR][vdwktNR] =
-{
- {
- nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn,
- nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn,
- nbnxn_kernel_ElecRF_VdwLJ_VF_4xn,
- nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn,
- nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn,
- nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn,
- },
- {
- nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn,
- },
- {
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn,
- },
- {
- nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn,
- nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn,
- nbnxn_kernel_ElecEw_VdwLJ_VF_4xn,
- nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn,
- nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn,
- nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn,
- },
- {
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn,
- },
-};
-
-static p_nbk_func_ener nbnxn_kernel_energrp_simd_4xn[coulktNR][vdwktNR] =
-{
- {
- nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn,
- nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn,
- nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn,
- nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn,
- nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn,
- nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn,
- },
- {
- nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn,
- nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn,
- },
- {
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn,
- nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn,
- },
- {
- nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn,
- nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn,
- nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn,
- nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn,
- nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn,
- nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn,
- },
- {
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn,
- nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn,
- },
-};
-
-
-#endif /* INCLUDE_KERNELFUNCTION_TABLES */
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2008, The GROMACS development team.
- * Copyright (c) 2012,2014,2015,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gromacs/math/functions.h"
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_search.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/simd/simd.h"
#include "gromacs/topology/ifunc.h"
#include "gromacs/topology/topology.h"
#include "gromacs/ewald/pme_load_balancing.h"
#include "gromacs/gmxlib/nrnb.h"
#include "gromacs/gpu_utils/gpu_utils.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
#include "gromacs/mdlib/sim_util.h"
#include "gromacs/mdtypes/commrec.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
#include "gromacs/timing/walltime_accounting.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/awh/awh.h"
#include "gromacs/domdec/dlbtiming.h"
+#include "gromacs/domdec/domdec.h"
#include "gromacs/domdec/domdec_struct.h"
#include "gromacs/domdec/partition.h"
#include "gromacs/essentialdynamics/edsam.h"
#include "gromacs/mdlib/forcerec.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
#include "gromacs/mdlib/mdrun.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_atomdata.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
-#include "gromacs/mdlib/nbnxn_grid.h"
-#include "gromacs/mdlib/nbnxn_search.h"
#include "gromacs/mdlib/ppforceworkload.h"
#include "gromacs/mdlib/qmmm.h"
#include "gromacs/mdlib/update.h"
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_gpu_ref.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/enerdata.h"
#include "gromacs/mdtypes/forceoutput.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/mdtypes/state.h"
+#include "gromacs/nbnxm/atomdata.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/prunekerneldispatch.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_gpu_ref.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/pbcutil/mshift.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/utility/strconvert.h"
#include "gromacs/utility/sysinfo.h"
-#include "nbnxn_gpu.h"
-#include "nbnxn_kernels/nbnxn_kernel_cpu.h"
-#include "nbnxn_kernels/nbnxn_kernel_prune.h"
-
// TODO: this environment variable allows us to verify before release
// that on less common architectures the total cost of polling is not larger than
// a blocking wait (so polling does not introduce overhead when the static
#include "gromacs/mdlib/mdrun.h"
#include "gromacs/mdlib/mdsetup.h"
#include "gromacs/mdlib/membed.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
#include "gromacs/mdlib/ns.h"
#include "gromacs/mdlib/resethandler.h"
#include "gromacs/mdlib/shellfc.h"
#include "gromacs/mdtypes/observableshistory.h"
#include "gromacs/mdtypes/pullhistory.h"
#include "gromacs/mdtypes/state.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pbcutil/mshift.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/pulling/output.h"
#include "gromacs/mdlib/mdrun.h"
#include "gromacs/mdlib/mdsetup.h"
#include "gromacs/mdlib/membed.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
#include "gromacs/mdlib/ns.h"
#include "gromacs/mdlib/resethandler.h"
#include "gromacs/mdlib/shellfc.h"
#include "gromacs/mdlib/mdrun.h"
#include "gromacs/mdlib/mdsetup.h"
#include "gromacs/mdlib/membed.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
#include "gromacs/mdlib/ns.h"
#include "gromacs/mdlib/resethandler.h"
#include "gromacs/mdlib/shellfc.h"
#include "gromacs/mdlib/mdatoms.h"
#include "gromacs/mdlib/mdrun.h"
#include "gromacs/mdlib/membed.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
-#include "gromacs/mdlib/nbnxn_search.h"
-#include "gromacs/mdlib/nbnxn_tuning.h"
#include "gromacs/mdlib/ppforceworkload.h"
#include "gromacs/mdlib/qmmm.h"
#include "gromacs/mdlib/sighandler.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/mdtypes/observableshistory.h"
#include "gromacs/mdtypes/state.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/pairlist_tuning.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/pulling/output.h"
#include "gromacs/pulling/pull.h"
--- /dev/null
+#
+# This file is part of the GROMACS molecular simulation package.
+#
+# Copyright (c) 2019, by the GROMACS development team, led by
+# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+# and including many others, as listed in the AUTHORS file in the
+# top-level source directory and at http://www.gromacs.org.
+#
+# GROMACS is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public License
+# as published by the Free Software Foundation; either version 2.1
+# of the License, or (at your option) any later version.
+#
+# GROMACS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GROMACS; if not, see
+# http://www.gnu.org/licenses, or write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# If you want to redistribute modifications to GROMACS, please
+# consider that scientific software is very special. Version
+# control is crucial - bugs must be traceable. We will be happy to
+# consider code for inclusion in the official distribution, but
+# derived work must not be called official GROMACS. Details are found
+# in the README & COPYING files - if they are missing, get the
+# official version at http://www.gromacs.org.
+#
+# To help us fund GROMACS development, we humbly ask that you cite
+# the research papers on the package. Check out http://www.gromacs.org.
+
+file(GLOB NBNXM_SOURCES kernels_reference/*.cpp kernels_simd_4xm/*.cpp kernels_simd_2xmm/*.cpp *.cpp)
+
+if(GMX_USE_CUDA)
+ add_subdirectory(cuda)
+endif()
+
+if(GMX_USE_OPENCL)
+ add_subdirectory(opencl)
+ set(NBNXM_OPENCL_KERNELS ${NBNXM_OPENCL_KERNELS} PARENT_SCOPE)
+endif()
+
+set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${NBNXM_SOURCES} PARENT_SCOPE)
#include "gmxpre.h"
-#include "nbnxn_atomdata.h"
+#include "atomdata.h"
#include <cassert>
#include <cmath>
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_internal.h"
-#include "gromacs/mdlib/nbnxn_search.h"
-#include "gromacs/mdlib/nbnxn_util.h"
#include "gromacs/mdtypes/forcerec.h" // only for GET_CGINFO_*
#include "gromacs/mdtypes/mdatom.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/nbnxm_geometry.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/simd/simd.h"
#include "gromacs/timing/wallcycle.h"
#include "gromacs/utility/strconvert.h"
#include "gromacs/utility/stringutil.h"
+#include "internal.h"
+
using namespace gmx; // TODO: Remove when this file is moved into gmx namespace
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _nbnxn_atomdata_h
-#define _nbnxn_atomdata_h
+#ifndef GMX_NBNXN_ATOMDATA_H
+#define GMX_NBNXN_ATOMDATA_H
#include <cstdio>
#include "gromacs/math/vectypes.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/real.h"
class MDLogger;
}
+struct nbnxn_atomdata_t;
+struct nbnxn_search;
struct t_mdatoms;
struct gmx_wallcycle;
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _nbnxn_consts_h
-#define _nbnxn_consts_h
+#ifndef GMX_NBNXN_CONSTANTS_H
+#define GMX_NBNXN_CONSTANTS_H
// Lower limit for square interaction distances in nonbonded kernels.
// For smaller values we will overflow when calculating r^-1 or r^-12, but
#
# This file is part of the GROMACS molecular simulation package.
#
-# Copyright (c) 2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by
+# Copyright (c) 2012,2013,2014,2015,2016,2017,2019, by the GROMACS development team, led by
# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
# and including many others, as listed in the AUTHORS file in the
# top-level source directory and at http://www.gromacs.org.
if(GMX_USE_CUDA)
if(NOT GMX_CUDA_NB_SINGLE_COMPILATION_UNIT)
- set(NBNXN_CUDA_KERNEL_SOURCES
- nbnxn_cuda_kernel_F_noprune.cu
- nbnxn_cuda_kernel_F_prune.cu
- nbnxn_cuda_kernel_VF_noprune.cu
- nbnxn_cuda_kernel_VF_prune.cu
- nbnxn_cuda_kernel_pruneonly.cu)
+ set(NBNXM_CUDA_KERNEL_SOURCES
+ nbnxm_cuda_kernel_F_noprune.cu
+ nbnxm_cuda_kernel_F_prune.cu
+ nbnxm_cuda_kernel_VF_noprune.cu
+ nbnxm_cuda_kernel_VF_prune.cu
+ nbnxm_cuda_kernel_pruneonly.cu)
endif()
- file(GLOB NBNXN_CUDA_SOURCES
- nbnxn_cuda.cu
- nbnxn_cuda_data_mgmt.cu
- nbnxn_cuda_jit_support.cu
- ${NBNXN_CUDA_KERNEL_SOURCES})
- set(MDLIB_SOURCES ${MDLIB_SOURCES} ${NBNXN_CUDA_SOURCES} PARENT_SCOPE)
+ file(GLOB NBNXM_CUDA_SOURCES
+ nbnxm_cuda.cu
+ nbnxm_cuda_data_mgmt.cu
+ nbnxm_cuda_jit_support.cu
+ ${NBNXM_CUDA_KERNEL_SOURCES})
+ set(NBNXM_SOURCES ${NBNXM_SOURCES} ${NBNXM_CUDA_SOURCES} PARENT_SCOPE)
endif()
#include <assert.h>
#include <stdlib.h>
-#include "gromacs/mdlib/nbnxn_gpu.h"
+#include "gromacs/nbnxm/nbnxm_gpu.h"
#if defined(_MSVC)
#include <limits>
#endif
-#include "nbnxn_cuda.h"
+#include "nbnxm_cuda.h"
#include "gromacs/gpu_utils/cudautils.cuh"
#include "gromacs/mdlib/force_flags.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_gpu_common.h"
-#include "gromacs/mdlib/nbnxn_gpu_common_utils.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/nbnxm/gpu_common.h"
+#include "gromacs/nbnxm/gpu_common_utils.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/timing/gpu_timing.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/gmxassert.h"
-#include "nbnxn_cuda_types.h"
-
+#include "nbnxm_cuda_types.h"
/***** The kernel declarations/definitions come here *****/
*/
#define FUNCTION_DECLARATION_ONLY
/** Force only **/
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
/** Force & energy **/
#define CALC_ENERGIES
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef CALC_ENERGIES
/*** Pair-list pruning kernels ***/
/** Force only **/
#define PRUNE_NBL
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
/** Force & energy **/
#define CALC_ENERGIES
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef CALC_ENERGIES
#undef PRUNE_NBL
/* Prune-only kernels */
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_pruneonly.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_pruneonly.cuh"
#undef FUNCTION_DECLARATION_ONLY
/* Now generate the function definitions if we are using a single compilation unit. */
#if GMX_CUDA_NB_SINGLE_COMPILATION_UNIT
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_F_noprune.cu"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_F_prune.cu"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_VF_noprune.cu"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_VF_prune.cu"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_pruneonly.cu"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_F_noprune.cu"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_F_prune.cu"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_VF_noprune.cu"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_VF_prune.cu"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_pruneonly.cu"
#endif /* GMX_CUDA_NB_SINGLE_COMPILATION_UNIT */
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gromacs/hardware/gpu_hw_info.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/force_flags.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/timing/gpu_timing.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/real.h"
#include "gromacs/utility/smalloc.h"
-#include "nbnxn_cuda.h"
-#include "nbnxn_cuda_types.h"
+#include "nbnxm_cuda.h"
+#include "nbnxm_cuda_types.h"
/* This is a heuristically determined parameter for the Kepler
* and Maxwell architectures for the minimum size of ci lists by multiplying
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*
* \author Szilárd Páll <pall.szilard@gmail.com>
* \author Berk Hess <hess@kth.se>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
#include "gromacs/gpu_utils/cuda_arch_utils.cuh"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2015,2016,2017, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gmxpre.h"
#include "gromacs/gpu_utils/cudautils.cuh"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_utils.cuh"
-#include "nbnxn_cuda_types.h"
+#include "nbnxm_cuda_types.h"
/* Top-level kernel generation: will generate through multiple
* inclusion the following flavors for all kernel:
* force-only output without pair list pruning;
*/
#define FUNCTION_DECLARATION_ONLY
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef FUNCTION_DECLARATION_ONLY
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2015,2016,2017, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gmxpre.h"
#include "gromacs/gpu_utils/cudautils.cuh"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_utils.cuh"
-#include "nbnxn_cuda_types.h"
+#include "nbnxm_cuda_types.h"
/* Top-level kernel generation: will generate through multiple
* inclusion the following flavors for all kernel:
*/
#define PRUNE_NBL
#define FUNCTION_DECLARATION_ONLY
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef FUNCTION_DECLARATION_ONLY
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef PRUNE_NBL
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2015,2016,2017, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gmxpre.h"
#include "gromacs/gpu_utils/cudautils.cuh"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_utils.cuh"
-#include "nbnxn_cuda_types.h"
+#include "nbnxm_cuda_types.h"
/* Top-level kernel generation: will generate through multiple
* inclusion the following flavors for all kernel:
*/
#define CALC_ENERGIES
#define FUNCTION_DECLARATION_ONLY
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef FUNCTION_DECLARATION_ONLY
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef CALC_ENERGIES
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2015,2016,2017, by the GROMACS development team, led by
+ * Copyright (c) 2015,2016,2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gmxpre.h"
#include "gromacs/gpu_utils/cudautils.cuh"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_utils.cuh"
-#include "nbnxn_cuda_types.h"
+#include "nbnxm_cuda_types.h"
/* Top-level kernel generation: will generate through multiple
* inclusion the following flavors for all kernel:
#define PRUNE_NBL
#define CALC_ENERGIES
#define FUNCTION_DECLARATION_ONLY
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef FUNCTION_DECLARATION_ONLY
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernels.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernels.cuh"
#undef CALC_ENERGIES
#undef PRUNE_NBL
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2016,2017, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*/
#include "gmxpre.h"
-#include "nbnxn_cuda_kernel_pruneonly.cuh"
+#include "nbnxm_cuda_kernel_pruneonly.cuh"
#ifndef FUNCTION_DECLARATION_ONLY
/* Instantiate external template functions */
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*
* \author Szilárd Páll <pall.szilard@gmail.com>
* \author Berk Hess <hess@kth.se>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
#include "gmxpre.h"
#include "gromacs/gpu_utils/cuda_arch_utils.cuh"
#include "gromacs/math/utilities.h"
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel_utils.cuh"
#include "gromacs/pbcutil/ishift.h"
-#include "nbnxn_cuda_types.h"
+#include "nbnxm_cuda_types.h"
/* Note that floating-point constants in CUDA code should be suffixed
* with f (e.g. 0.5f), to stop the compiler producing intermediate
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* kernels are included (has to be preceded by nbnxn_cuda_types.h).
*
* \author Szilárd Páll <pall.szilard@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
#include <assert.h>
#include "gromacs/gpu_utils/cuda_kernel_utils.cuh"
#include "gromacs/gpu_utils/vectype_ops.cuh"
-#include "nbnxn_cuda_types.h"
+#include "nbnxm_cuda_types.h"
-#ifndef NBNXN_CUDA_KERNEL_UTILS_CUH
-#define NBNXN_CUDA_KERNEL_UTILS_CUH
+#ifndef NBNXM_CUDA_KERNEL_UTILS_CUH
+#define NBNXM_CUDA_KERNEL_UTILS_CUH
/*! \brief Log of the i and j cluster size.
* change this together with c_clSize !*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*
* \author Szilárd Páll <pall.szilard@gmail.com>
* \author Berk Hess <hess@kth.se>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
/* Analytical plain cut-off electrostatics kernels
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJ ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJEwCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJEwCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJFsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecCut_VdwLJPsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJ ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJEwCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJEwCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJFsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecRF_VdwLJPsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJ ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJEwCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJEwCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJFsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEw_VdwLJPsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJ ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJEwCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJEwCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJFsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwTwinCut_VdwLJPsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJ ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJEwCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJEwCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJFsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTab_VdwLJPsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJ ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJEwCombGeom ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJEwCombLB ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJFsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, ...) x ## _ElecEwQSTabTwinCut_VdwLJPsw ## __VA_ARGS__
-#include "gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh"
+#include "gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2012, The GROMACS development team.
- * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* Data types used internally in the nbnxn_cuda module.
*
* \author Szilárd Páll <pall.szilard@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
-#ifndef NBNXN_CUDA_TYPES_H
-#define NBNXN_CUDA_TYPES_H
+#ifndef NBNXM_CUDA_TYPES_H
+#define NBNXM_CUDA_TYPES_H
#include "gromacs/gpu_utils/cuda_arch_utils.cuh"
#include "gromacs/gpu_utils/cudautils.cuh"
#include "gromacs/gpu_utils/devicebuffer.h"
#include "gromacs/gpu_utils/gputraits.cuh"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_gpu_types_common.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/gpu_types_common.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/timing/gpu_timing.h"
-
/*! \brief Macro definining default for the prune kernel's j4 processing concurrency.
*
* The GMX_NBNXN_PRUNE_KERNEL_J4_CONCURRENCY macro allows compile-time override.
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*
* \author Szilard Pall <pall.szilard@gmail.com>
*
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
-#ifndef GMX_MDLIB_NBNXN_GPU_COMMON_H
-#define GMX_MDLIB_NBNXN_GPU_COMMON_H
+#ifndef GMX_NBNXM_GPU_COMMON_H
+#define GMX_NBNXM_GPU_COMMON_H
#include "config.h"
#include <string>
#if GMX_GPU == GMX_GPU_CUDA
-#include "nbnxn_cuda/nbnxn_cuda_types.h"
+#include "cuda/nbnxm_cuda_types.h"
#endif
#if GMX_GPU == GMX_GPU_OPENCL
-#include "nbnxn_ocl/nbnxn_ocl_types.h"
+#include "opencl/nbnxm_ocl_types.h"
#endif
#include "gromacs/gpu_utils/gpu_utils.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/force_flags.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_gpu_types.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/timing/gpu_timing.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/stringutil.h"
-#include "nbnxn_gpu_common_utils.h"
+#include "gpu_common_utils.h"
+#include "nbnxm_gpu.h"
/*! \brief Check that atom locality values are valid for the GPU module.
*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2017, by the GROMACS development team, led by
+ * Copyright (c) 2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* \brief Implements common util routines for different NBNXN GPU implementations
*
* \author Aleksei Iupinov <a.yupinov@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
-#ifndef GMX_MDLIB_NBNXN_GPU_COMMON_UTILS_H
-#define GMX_MDLIB_NBNXN_GPU_COMMON_UTILS_H
+#ifndef GMX_NBNXM_GPU_COMMON_UTILS_H
+#define GMX_NBNXM_GPU_COMMON_UTILS_H
#include "config.h"
+#include "gromacs/nbnxm/nbnxm.h"
+
#if GMX_GPU == GMX_GPU_CUDA
-#include "nbnxn_cuda/nbnxn_cuda_types.h"
+#include "cuda/nbnxm_cuda_types.h"
#endif
#if GMX_GPU == GMX_GPU_OPENCL
-#include "nbnxn_ocl/nbnxn_ocl_types.h"
+#include "opencl/nbnxm_ocl_types.h"
#endif
/*! \brief An early return condition for empty NB GPU workloads
/*! \libinternal \file
* \brief Declare interface for GPU data transfer for NBNXN module
*
+ * \author Szilard Pall <pall.szilard@gmail.com>
* \author Mark Abraham <mark.j.abraham@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
* \inlibraryapi
*/
-#ifndef NBNXN_GPU_DATA_MGMT_H
-#define NBNXN_GPU_DATA_MGMT_H
+#ifndef GMX_NBNXN_GPU_DATA_MGMT_H
+#define GMX_NBNXN_GPU_DATA_MGMT_H
#include "gromacs/gpu_utils/gpu_macros.h"
-#include "gromacs/mdlib/nbnxn_gpu_types.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gpu_types.h"
+
struct nonbonded_verlet_group_t;
struct NbnxnPairlistGpu;
struct nbnxn_atomdata_t;
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2014,2015, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* \author Mark Abraham <mark.j.abraham@gmail.com>
*/
-#ifndef GMX_MDLIB_NBNXN_GPU_JIT_SUPPORT_H
-#define GMX_MDLIB_NBNXN_GPU_JIT_SUPPORT_H
+#ifndef GMX_NBNXM_GPU_JIT_SUPPORT_H
+#define GMX_NBNXM_GPU_JIT_SUPPORT_H
-#include "gromacs/mdlib/nbnxn_gpu_types.h"
#include "gromacs/utility/basedefinitions.h"
+#include "gpu_types.h"
+
/*! \brief Handles any JIT compilation of nbnxn kernels for the selected device */
OPENCL_FUNC_QUALIFIER void
nbnxn_gpu_compile_kernels(gmx_nbnxn_gpu_t gmx_unused *nb) OPENCL_FUNC_TERM
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+/*! \libinternal \file
+ * \brief Sets gmx_nbnxn_gpu_t to the correct type depending on the build
+ *
+ * \ingroup module_nbnxm
+ */
-#ifndef GMX_MDLIB_NBNXN_GPU_TYPES_H
-#define GMX_MDLIB_NBNXN_GPU_TYPES_H
+#ifndef GMX_NBNXN_GPU_TYPES_H
+#define GMX_NBNXN_GPU_TYPES_H
#include "config.h"
+#ifndef DOXYGEN
+
#if GMX_GPU == GMX_GPU_OPENCL
struct gmx_nbnxn_ocl_t;
typedef struct gmx_nbnxn_ocl_t gmx_nbnxn_gpu_t;
typedef int gmx_nbnxn_gpu_t;
#endif
+#endif // !DOXYGEN
+
#endif
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* \brief Implements common internal types for different NBNXN GPU implementations
*
* \author Szilárd Páll <pall.szilard@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
#ifndef GMX_MDLIB_NBNXN_GPU_COMMON_TYPES_H
#include "config.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/nbnxm/pairlist.h"
#if GMX_GPU == GMX_GPU_OPENCL
#include "gromacs/gpu_utils/gpuregiontimer_ocl.h"
#include "gmxpre.h"
-#include "nbnxn_grid.h"
-
#include <cmath>
#include <cstring>
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_atomdata.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_internal.h"
-#include "gromacs/mdlib/nbnxn_search.h"
-#include "gromacs/mdlib/nbnxn_util.h"
#include "gromacs/mdlib/updategroupscog.h"
#include "gromacs/mdtypes/forcerec.h" // only for GET_CGINFO_*
+#include "gromacs/nbnxm/atomdata.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/nbnxm_geometry.h"
#include "gromacs/simd/simd.h"
#include "gromacs/simd/vector_operations.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/smalloc.h"
+#include "internal.h"
+
struct gmx_domdec_zones_t;
static real grid_atom_density(int numAtoms,
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _nbnxn_internal_h
-#define _nbnxn_internal_h
+/*! \internal \file
+ *
+ * \brief Declares internal nbnxm module details
+ *
+ * \author Berk Hess <hess@kth.se>
+ *
+ * \ingroup module_nbnxm
+ */
+
+#ifndef GMX_NBNXM_INTERNAL_H
+#define GMX_NBNXM_INTERNAL_H
#include <memory>
#include <vector>
#include "gromacs/domdec/domdec.h"
#include "gromacs/math/vectypes.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/simd/simd.h"
#include "gromacs/timing/cyclecounter.h"
#include "gromacs/utility/alignedallocator.h"
struct gmx_domdec_zones_t;
+// TODO Document after refactoring
+#ifndef DOXYGEN
+
/* Strides for x/f with xyz and xyzq coordinate (and charge) storage */
#define STRIDE_XYZ 3
#define STRIDE_XYZQ 4
#endif /* NBNXN_SEARCH_BB_SIMD4 */
+#endif // !DOXYGEN
+
+/*! \brief Convenience declaration for an std::vector with aligned memory */
template <class T>
using AlignedVector = std::vector < T, gmx::AlignedAllocator < T>>;
};
+/*! \brief Start an nbnxn cycle counter */
static inline void nbs_cycle_start(nbnxn_cycle_t *cc)
{
cc->start = gmx_cycles_read();
}
+/*! \brief Stop an nbnxn cycle counter */
static inline void nbs_cycle_stop(nbnxn_cycle_t *cc)
{
cc->c += gmx_cycles_read() - cc->start;
cc->count++;
}
-
#endif
*/
#include "gmxpre.h"
-#include "nbnxn_kernel_common.h"
+#include "kernel_common.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/utility/gmxassert.h"
/*! \internal \file
*
* \brief
- * Declares the nbnxn pair interaction kernel function types and kind counts, also declares utility functions used in nbnxn_kernel.cpp.
+ * Declares the nbnxm pair interaction kernel function types and kind counts, also declares utility functions used in nbnxm_kernel.cpp.
*
* \author Berk Hess <hess@kth.se>
*/
-#ifndef _nbnxn_kernel_common_h
-#define _nbnxn_kernel_common_h
+#ifndef GMX_NBXNM_KERNEL_COMMON_H
+#define GMX_NBXNM_KERNEL_COMMON_H
#include "gromacs/math/vectypes.h"
/* nbnxn_atomdata_t and nbnxn_pairlist_t could be forward declared, but that requires modifications in all SIMD kernel files */
-#include "gromacs/mdlib/nbnxn_atomdata.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/nbnxm/atomdata.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/utility/real.h"
struct interaction_const_t;
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE {7}
#include "{4}"
{3}
#ifdef {0}
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* {0} */
#ifdef CALC_ENERGIES
{6}real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef {0}
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* {0} */
{{
/* No need to call gmx_incons() here, because the only function
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE {7}
#include "{4}"
{3}
#ifdef {0}
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* {0} */
#ifdef CALC_ENERGIES
{6}real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef {0}
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* {0} */
{{
/* No need to call gmx_incons() here, because the only function
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2017, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_common.h"
+#include "gromacs/nbnxm/kernel_common.h"
/* Declare all the different kernel functions.
*/
* The minor index of the array goes over both the LJ combination rules,
* which is only supported by plain cut-off, and the LJ switch/PME functions.
*/
-p_nbk_func_noener nbnxn_kernel_noener_simd_{1}[coulktNR][vdwktNR] =
+p_nbk_func_noener nbnxm_kernel_noener_simd_{1}[coulktNR][vdwktNR] =
{2}
-p_nbk_func_ener nbnxn_kernel_ener_simd_{1}[coulktNR][vdwktNR] =
+p_nbk_func_ener nbnxm_kernel_ener_simd_{1}[coulktNR][vdwktNR] =
{3}
-p_nbk_func_ener nbnxn_kernel_energrp_simd_{1}[coulktNR][vdwktNR] =
+p_nbk_func_ener nbnxm_kernel_energrp_simd_{1}[coulktNR][vdwktNR] =
{4}
#endif /* INCLUDE_KERNELFUNCTION_TABLES */
# This script is used by the GROMACS developers to build most of the
# files from which the nbnxn kernels are compiled. It is not called at
# CMake time, and users should never need to use it. It currently
-# works for nbnxn kernel structure types 2xnn and 4xn. The generated
+# works for nbnxn kernel structure types 2xMM and 4xM. The generated
# files are versions of the *.pre files in this directory, customized
# for the kernel structure type and/or the detailed kernel type. These
# are:
# parallelism.
#
# This script should be run from the directory in which it is
-# located. The generated files are located in ../simd_<type>. There
-# are three other files in those locations that are not generated. These
-# contain:
+# located. The generated files are located in ../kernels_simd_<type>.
+# There are three other files in those locations that are not generated.
+# These contain:
#
# setup logic peculiar to the kernel structure type but common to
# all the kernels within that type, and
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
import collections # Requires Python 2.7
-sys.path.append('../../../../../admin')
+sys.path.append('../../../../admin')
from copyright import create_copyright_header
FileHeader = create_copyright_header('2012,2013,2014,2015,2019')
return TemplateText
# The dict order must match the order of an enumeration in
-# nbnxn_kernel_simd_template.c.pre
+# kernel_simd_template.c.pre
ElectrostaticsDict = collections.OrderedDict()
ElectrostaticsDict['ElecRF'] = { 'define' : '#define CALC_COUL_RF' }
ElectrostaticsDict['ElecQSTab'] = { 'define' : '#define CALC_COUL_TAB' }
# This is OK as an unordered dict
VerletKernelTypeDict = {
- '2xnn' : {
+ '2xmm' : {
'Define' : 'GMX_NBNXN_SIMD_2XNN',
'WidthSetup' : '/* Include the full-width SIMD macros */\n',
'WidthCheck' : ('#if !(GMX_SIMD_REAL_WIDTH == 8 || GMX_SIMD_REAL_WIDTH == 16)\n' \
'#endif\n'),
'UnrollSize' : 2,
},
- '4xn' : {
+ '4xm' : {
'Define' : 'GMX_NBNXN_SIMD_4XN',
'WidthSetup' : (''),
'WidthCheck' : ('#if !(GMX_SIMD_REAL_WIDTH == 2 || GMX_SIMD_REAL_WIDTH == 4 || GMX_SIMD_REAL_WIDTH == 8)\n' \
},
}
-KernelsHeaderTemplate = read_kernel_template("nbnxn_kernel_simd_template.h.pre")
+KernelsHeaderTemplate = read_kernel_template("kernel_simd_template.h.pre")
# For each Verlet kernel type, write two kinds of files:
# a header file defining the functions for all the kernels and
# the kernel function lookup table
# for each kernel, a file defining the single C function for that kernel
for type in VerletKernelTypeDict:
- DirName = "../simd_{0}".format(type)
- KernelNamePrefix = 'nbnxn_kernel'
+ DirName = "../kernels_simd_{0}".format(type)
+ KernelNamePrefix = 'nbnxm_kernel'
+ KernelFileNamePrefix = 'kernel'
KernelsName = "{0}_simd_{1}".format(KernelNamePrefix,type)
- KernelsHeaderFileName = "{0}.h".format(KernelsName,type)
- KernelsHeaderPathName = "gromacs/mdlib/nbnxn_kernels/simd_{0}/{1}".format(type,KernelsHeaderFileName)
+ KernelsFileName = "{0}_simd_{1}".format(KernelFileNamePrefix,type)
+ KernelsHeaderFileName = "kernels.h"
+ KernelsHeaderPathName = "gromacs/nbnxm/kernels_simd_{0}/{1}".format(type,KernelsHeaderFileName)
KernelFunctionLookupTable = {}
KernelDeclarations = ''
- KernelTemplate = read_kernel_template("{0}_kernel.cpp.pre".format(KernelsName))
+ KernelTemplate = read_kernel_template("{0}_kernel.cpp.pre".format(KernelsFileName))
# Loop over all kernels
for ener in EnergiesComputationDict:
for ljtreat in VdwTreatmentDict:
KernelName = ('{0}_{1}_{2}_{3}_{4}'
.format(KernelNamePrefix,elec,ljtreat,ener,type))
+ KernelFileName = ('{0}_{1}_{2}_{3}'
+ .format(KernelFileNamePrefix,elec,ljtreat,ener,type))
# Declare the kernel function
KernelDeclarations += ('{1:21} {0};\n'
EnergiesComputationDict[ener]['function type']))
# Write the file with the kernel definition
- with open('{0}/{1}.cpp'.format(DirName,KernelName), 'w') as kernelfp:
+ with open('{0}/{1}.cpp'.format(DirName,KernelFileName), 'w') as kernelfp:
kernelfp.write(FileHeader.format(type))
kernelfp.write(KernelTemplate
.format(VerletKernelTypeDict[type]['Define'],
#include "gmxpre.h"
-#include "nbnxn_kernel_cpu.h"
+#include "kerneldispatch.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/force_flags.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#include "gromacs/simd/simd.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/real.h"
-#include "nbnxn_kernel_common.h"
+#include "kernel_common.h"
#define INCLUDE_KERNELFUNCTION_TABLES
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref.h"
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#endif
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#endif
#undef INCLUDE_FUNCTION_TABLES
break;
#ifdef GMX_NBNXN_SIMD_2XNN
case nbnxnk4xN_SIMD_2xNN:
- nbnxn_kernel_noener_simd_2xnn[coulkt][vdwkt](nbl[nb], nbat,
+ nbnxm_kernel_noener_simd_2xmm[coulkt][vdwkt](nbl[nb], nbat,
ic,
shiftVectors,
out->f.data(),
#endif
#ifdef GMX_NBNXN_SIMD_4XN
case nbnxnk4xN_SIMD_4xN:
- nbnxn_kernel_noener_simd_4xn[coulkt][vdwkt](nbl[nb], nbat,
+ nbnxm_kernel_noener_simd_4xm[coulkt][vdwkt](nbl[nb], nbat,
ic,
shiftVectors,
out->f.data(),
break;
#ifdef GMX_NBNXN_SIMD_2XNN
case nbnxnk4xN_SIMD_2xNN:
- nbnxn_kernel_ener_simd_2xnn[coulkt][vdwkt](nbl[nb], nbat,
+ nbnxm_kernel_ener_simd_2xmm[coulkt][vdwkt](nbl[nb], nbat,
ic,
shiftVectors,
out->f.data(),
#endif
#ifdef GMX_NBNXN_SIMD_4XN
case nbnxnk4xN_SIMD_4xN:
- nbnxn_kernel_ener_simd_4xn[coulkt][vdwkt](nbl[nb], nbat,
+ nbnxm_kernel_ener_simd_4xm[coulkt][vdwkt](nbl[nb], nbat,
ic,
shiftVectors,
out->f.data(),
#ifdef GMX_NBNXN_SIMD_2XNN
case nbnxnk4xN_SIMD_2xNN:
unrollj = GMX_SIMD_REAL_WIDTH/2;
- nbnxn_kernel_energrp_simd_2xnn[coulkt][vdwkt](nbl[nb], nbat,
+ nbnxm_kernel_energrp_simd_2xmm[coulkt][vdwkt](nbl[nb], nbat,
ic,
shiftVectors,
out->f.data(),
#ifdef GMX_NBNXN_SIMD_4XN
case nbnxnk4xN_SIMD_4xN:
unrollj = GMX_SIMD_REAL_WIDTH;
- nbnxn_kernel_energrp_simd_4xn[coulkt][vdwkt](nbl[nb], nbat,
+ nbnxm_kernel_energrp_simd_4xm[coulkt][vdwkt](nbl[nb], nbat,
ic,
shiftVectors,
out->f.data(),
* \author Berk Hess <hess@kth.se>
*/
-#ifndef _nbnxn_kernel_cpu_h
-#define _nbnxn_kernel_cpu_h
+#ifndef GMX_NBNXN_KERNEL_DISPATCH_H
+#define GMX_NBNXN_KERNEL_DISPATCH_H
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/real.h"
*/
#include "gmxpre.h"
-#include "nbnxn_kernel_gpu_ref.h"
-
-#include "config.h"
+#include "kernel_gpu_ref.h"
#include <cmath>
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/force_flags.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/kernel_common.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/utility/fatalerror.h"
-#include "nbnxn_kernel_common.h"
-
static const int c_numClPerSupercl = c_nbnxnGpuNumClusterPerSupercluster;
static const int c_clSize = c_nbnxnGpuClusterSize;
#define _nbnxn_kernel_gpu_ref_h
#include "gromacs/math/vectypes.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
#include "gromacs/mdtypes/forcerec.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/real.h"
+struct NbnxnPairlistGpu;
+struct nbnxn_atomdata_t;
+
/* Reference (slow) kernel for nb n vs n GPU type pair lists */
void
nbnxn_kernel_gpu_ref(const NbnxnPairlistGpu *nbl,
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*/
#include "gmxpre.h"
-#include "nbnxn_kernel_ref.h"
-
-#include "config.h"
+#include "kernel_ref.h"
#include <cassert>
#include <cmath>
#include "gromacs/math/functions.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-
/* Analytical reaction-field kernels */
#define CALC_COUL_RF
#define LJ_CUT
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_CUT
#define LJ_FORCE_SWITCH
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_FORCE_SWITCH
#define LJ_POT_SWITCH
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_POT_SWITCH
#define LJ_EWALD
#define LJ_CUT
#define LJ_EWALD_COMB_GEOM
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_EWALD_COMB_GEOM
#define LJ_EWALD_COMB_LB
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_EWALD_COMB_LB
#undef LJ_CUT
#undef LJ_EWALD
/* Tabulated exclusion interaction electrostatics kernels */
#define CALC_COUL_TAB
#define LJ_CUT
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_CUT
#define LJ_FORCE_SWITCH
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_FORCE_SWITCH
#define LJ_POT_SWITCH
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_POT_SWITCH
#define LJ_EWALD
#define LJ_CUT
#define LJ_EWALD_COMB_GEOM
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_EWALD_COMB_GEOM
#define LJ_EWALD_COMB_LB
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_EWALD_COMB_LB
#undef LJ_CUT
#undef LJ_EWALD
/* Twin-range cut-off kernels */
#define VDW_CUTOFF_CHECK
#define LJ_CUT
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_CUT
#define LJ_FORCE_SWITCH
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_FORCE_SWITCH
#define LJ_POT_SWITCH
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_POT_SWITCH
#define LJ_EWALD
#define LJ_CUT
#define LJ_EWALD_COMB_GEOM
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_EWALD_COMB_GEOM
#define LJ_EWALD_COMB_LB
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_includes.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_includes.h"
#undef LJ_EWALD_COMB_LB
#undef LJ_CUT
#undef LJ_EWALD
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#include "nbnxn_kernel_common.h"
+#include "gromacs/nbnxm/kernel_common.h"
/* Declare all the different kernel functions.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*/
/* Include the force only kernels */
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_outer.h"
/* Include the force+energy kernels */
#define CALC_ENERGIES
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_outer.h"
#undef CALC_ENERGIES
/* Include the force+energygroups kernels */
#define CALC_ENERGIES
#define ENERGY_GROUPS
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_outer.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_outer.h"
#undef ENERGY_GROUPS
#undef CALC_ENERGIES
{
#define CALC_COULOMB
#define HALF_LJ
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_inner.h"
#undef HALF_LJ
#undef CALC_COULOMB
}
else if (do_coul)
{
#define CALC_COULOMB
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_inner.h"
#undef CALC_COULOMB
}
else
{
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_inner.h"
}
#undef CHECK_EXCLS
cjind++;
{
#define CALC_COULOMB
#define HALF_LJ
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_inner.h"
#undef HALF_LJ
#undef CALC_COULOMB
}
else if (do_coul)
{
#define CALC_COULOMB
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_inner.h"
#undef CALC_COULOMB
}
else
{
-#include "gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_ref_inner.h"
+#include "gromacs/nbnxm/kernels_reference/kernel_ref_inner.h"
}
}
#include "gmxpre.h"
-#include "nbnxn_kernel_ref_prune.h"
+#include "kernel_ref_prune.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/utility/gmxassert.h"
-
/* Prune a single NbnxnPairlistCpu entry with distance rlistInner */
void
nbnxn_kernel_prune_ref(NbnxnPairlistCpu * nbl,
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_FORCE_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_FORCE_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_FORCE_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_POT_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_POT_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_POT_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_FORCE_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_FORCE_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_FORCE_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_POT_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_POT_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_POT_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_FORCE_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJFSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_FORCE_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJFSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_FORCE_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_POT_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJPSw_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_POT_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJPSw_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_POT_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJ_F_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_F_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJ_VF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_VF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 2xnn.
+ * kernel type 2xmm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJ_VgrpF_2xnn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_VgrpF_2xmm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_2XNN */
{
/* No need to call gmx_incons() here, because the only function
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#include "gromacs/mdlib/nbnxn_consts.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/simd/simd.h"
#include "gromacs/simd/simd_math.h"
#include "gromacs/math/utilities.h"
#endif
+#include "config.h"
+
#include <cstdint>
#if !GMX_SIMD_HAVE_HSIMD_UTIL_REAL
#define CHECK_EXCLS
while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_inner.h"
cjind++;
}
#undef CHECK_EXCLS
for (; (cjind < cjind1); cjind++)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_inner.h"
}
#undef HALF_LJ
#undef CALC_COULOMB
#define CHECK_EXCLS
while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_inner.h"
cjind++;
}
#undef CHECK_EXCLS
for (; (cjind < cjind1); cjind++)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_inner.h"
}
#undef CALC_COULOMB
}
#define CHECK_EXCLS
while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_inner.h"
cjind++;
}
#undef CHECK_EXCLS
for (; (cjind < cjind1); cjind++)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_inner.h"
}
}
#undef CALC_LJ
#include "gmxpre.h"
-#include "nbnxn_kernel_simd_2xnn_prune.h"
+#include "kernel_prune.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/utility/gmxassert.h"
#ifdef GMX_NBNXN_SIMD_2XNN
#define GMX_SIMD_J_UNROLL_SIZE 2
-#include "gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_common.h"
+#include "gromacs/nbnxm/kernels_simd_2xmm/kernel_common.h"
#endif
/* Prune a single nbnxn_pairtlist_t entry with distance rlistInner */
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2012,2013,2014,2015,2019, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*
+ * Note: this file was generated by the Verlet kernel generator for
+ * kernel type 2xmm.
+ */
+
+
+#include "gromacs/nbnxm/kernel_common.h"
+
+/* Declare all the different kernel functions.
+ */
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJCombLB_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJ_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJFSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJPSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJ_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJCombLB_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJ_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJFSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJPSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xmm;
+
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJCombLB_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJ_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJFSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJPSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJCombLB_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJ_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJFSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJPSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJCombLB_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJ_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJFSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJPSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJ_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xmm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xmm;
+
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJCombLB_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJ_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJFSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJPSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJEwCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJCombLB_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJ_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJFSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJPSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJCombLB_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJ_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJFSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJPSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJEwCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJ_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_F_2xmm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xmm;
+
+
+
+#ifdef INCLUDE_KERNELFUNCTION_TABLES
+
+/* Declare and define the kernel function pointer lookup tables.
+ * The minor index of the array goes over both the LJ combination rules,
+ * which is only supported by plain cut-off, and the LJ switch/PME functions.
+ */
+p_nbk_func_noener nbnxm_kernel_noener_simd_2xmm[coulktNR][vdwktNR] =
+{
+ {
+ nbnxm_kernel_ElecRF_VdwLJCombGeom_F_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJCombLB_F_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJ_F_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJFSw_F_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJPSw_F_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJEwCombGeom_F_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecQSTab_VdwLJCombGeom_F_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJCombLB_F_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJ_F_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJFSw_F_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJPSw_F_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_F_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_F_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_F_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_F_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecEw_VdwLJCombGeom_F_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJCombLB_F_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJ_F_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJFSw_F_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJPSw_F_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJEwCombGeom_F_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_F_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_F_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJ_F_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_F_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_F_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_2xmm,
+ },
+};
+
+p_nbk_func_ener nbnxm_kernel_ener_simd_2xmm[coulktNR][vdwktNR] =
+{
+ {
+ nbnxm_kernel_ElecRF_VdwLJCombGeom_VF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJCombLB_VF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJ_VF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJFSw_VF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJPSw_VF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VF_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJCombLB_VF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJ_VF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJFSw_VF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJPSw_VF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VF_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecEw_VdwLJCombGeom_VF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJCombLB_VF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJ_VF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJFSw_VF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJPSw_VF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VF_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJ_VF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_2xmm,
+ },
+};
+
+p_nbk_func_ener nbnxm_kernel_energrp_simd_2xmm[coulktNR][vdwktNR] =
+{
+ {
+ nbnxm_kernel_ElecRF_VdwLJCombGeom_VgrpF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJCombLB_VgrpF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJ_VgrpF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJFSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJPSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJCombLB_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJ_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJFSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJPSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecEw_VdwLJCombGeom_VgrpF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJCombLB_VgrpF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJ_VgrpF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJFSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJPSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_2xmm,
+ },
+ {
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJ_VgrpF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_2xmm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_2xmm,
+ },
+};
+
+
+#endif /* INCLUDE_KERNELFUNCTION_TABLES */
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_FORCE_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_FORCE_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_FORCE_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_POT_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_POT_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_POT_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_EWALD
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecEw_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecEw_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define VDW_CUTOFF_CHECK /* Use twin-range cut-off */
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_FORCE_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_FORCE_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_FORCE_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_POT_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_POT_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_POT_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_TAB
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecQSTab_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecQSTab_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJCombLB_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJCombLB_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_FORCE_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJFSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_FORCE_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJFSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_FORCE_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJFSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJFSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_POT_SWITCH
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJPSw_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_POT_SWITCH
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJPSw_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_POT_SWITCH
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJPSw_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJPSw_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
/* Will not calculate energies */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJ_F_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_F_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define CALC_ENERGIES
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJ_VF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_VF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
*/
/*
* Note: this file was generated by the Verlet kernel generator for
- * kernel type 4xn.
+ * kernel type 4xm.
*/
/* Some target architectures compile kernels for only some NBNxN
*/
#include "gmxpre.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernels.h"
#define CALC_COUL_RF
#define LJ_CUT
#define ENERGY_GROUPS
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif /* GMX_NBNXN_SIMD_4XN */
#ifdef CALC_ENERGIES
void
-nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *Vc)
#else /* CALC_ENERGIES */
void
-nbnxn_kernel_ElecRF_VdwLJ_VgrpF_4xn(const NbnxnPairlistCpu gmx_unused *nbl,
+nbnxm_kernel_ElecRF_VdwLJ_VgrpF_4xm(const NbnxnPairlistCpu gmx_unused *nbl,
const nbnxn_atomdata_t gmx_unused *nbat,
const interaction_const_t gmx_unused *ic,
rvec gmx_unused *shift_vec,
real gmx_unused *fshift)
#endif /* CALC_ENERGIES */
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_outer.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_outer.h"
#else /* GMX_NBNXN_SIMD_4XN */
{
/* No need to call gmx_incons() here, because the only function
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#include "gromacs/mdlib/nbnxn_consts.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/simd/simd.h"
#include "gromacs/simd/simd_math.h"
#define CHECK_EXCLS
while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_inner.h"
cjind++;
}
#undef CHECK_EXCLS
for (; (cjind < cjind1); cjind++)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_inner.h"
}
#undef HALF_LJ
#undef CALC_COULOMB
#define CHECK_EXCLS
while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_inner.h"
cjind++;
}
#undef CHECK_EXCLS
for (; (cjind < cjind1); cjind++)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_inner.h"
}
#undef CALC_COULOMB
}
#define CHECK_EXCLS
while (cjind < cjind1 && nbl->cj[cjind].excl != NBNXN_INTERACTION_MASK_ALL)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_inner.h"
cjind++;
}
#undef CHECK_EXCLS
for (; (cjind < cjind1); cjind++)
{
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_inner.h"
}
}
#undef CALC_LJ
#include "gmxpre.h"
-#include "nbnxn_kernel_simd_4xn_prune.h"
+#include "kernel_prune.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/utility/gmxassert.h"
#ifdef GMX_NBNXN_SIMD_4XN
#define GMX_SIMD_J_UNROLL_SIZE 1
-#include "gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_common.h"
+#include "gromacs/nbnxm/kernels_simd_4xm/kernel_common.h"
#endif
/* Prune a single nbnxn_pairtlist_t entry with distance rlistInner */
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2012,2013,2014,2015,2019, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*
+ * Note: this file was generated by the Verlet kernel generator for
+ * kernel type 4xm.
+ */
+
+
+#include "gromacs/nbnxm/kernel_common.h"
+
+/* Declare all the different kernel functions.
+ */
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJCombLB_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJ_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJFSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJPSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJ_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJCombLB_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJ_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJFSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJPSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xm;
+
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJCombLB_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJ_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJFSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJPSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJCombLB_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJ_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJFSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJPSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJCombLB_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJ_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJFSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJPSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJ_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xm;
+nbk_func_ener nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xm;
+
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJCombLB_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJ_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJFSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJPSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecRF_VdwLJEwCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJCombLB_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJ_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJFSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJPSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJCombLB_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJ_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJFSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJPSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEw_VdwLJEwCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJ_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_F_4xm;
+nbk_func_noener nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xm;
+
+
+
+#ifdef INCLUDE_KERNELFUNCTION_TABLES
+
+/* Declare and define the kernel function pointer lookup tables.
+ * The minor index of the array goes over both the LJ combination rules,
+ * which is only supported by plain cut-off, and the LJ switch/PME functions.
+ */
+p_nbk_func_noener nbnxm_kernel_noener_simd_4xm[coulktNR][vdwktNR] =
+{
+ {
+ nbnxm_kernel_ElecRF_VdwLJCombGeom_F_4xm,
+ nbnxm_kernel_ElecRF_VdwLJCombLB_F_4xm,
+ nbnxm_kernel_ElecRF_VdwLJ_F_4xm,
+ nbnxm_kernel_ElecRF_VdwLJFSw_F_4xm,
+ nbnxm_kernel_ElecRF_VdwLJPSw_F_4xm,
+ nbnxm_kernel_ElecRF_VdwLJEwCombGeom_F_4xm,
+ },
+ {
+ nbnxm_kernel_ElecQSTab_VdwLJCombGeom_F_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJCombLB_F_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJ_F_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJFSw_F_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJPSw_F_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_F_4xm,
+ },
+ {
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_F_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_F_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_F_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_F_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_F_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_F_4xm,
+ },
+ {
+ nbnxm_kernel_ElecEw_VdwLJCombGeom_F_4xm,
+ nbnxm_kernel_ElecEw_VdwLJCombLB_F_4xm,
+ nbnxm_kernel_ElecEw_VdwLJ_F_4xm,
+ nbnxm_kernel_ElecEw_VdwLJFSw_F_4xm,
+ nbnxm_kernel_ElecEw_VdwLJPSw_F_4xm,
+ nbnxm_kernel_ElecEw_VdwLJEwCombGeom_F_4xm,
+ },
+ {
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_F_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_F_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJ_F_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_F_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_F_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_F_4xm,
+ },
+};
+
+p_nbk_func_ener nbnxm_kernel_ener_simd_4xm[coulktNR][vdwktNR] =
+{
+ {
+ nbnxm_kernel_ElecRF_VdwLJCombGeom_VF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJCombLB_VF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJ_VF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJFSw_VF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJPSw_VF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VF_4xm,
+ },
+ {
+ nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJCombLB_VF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJ_VF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJFSw_VF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJPSw_VF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VF_4xm,
+ },
+ {
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VF_4xm,
+ },
+ {
+ nbnxm_kernel_ElecEw_VdwLJCombGeom_VF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJCombLB_VF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJ_VF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJFSw_VF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJPSw_VF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VF_4xm,
+ },
+ {
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJ_VF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VF_4xm,
+ },
+};
+
+p_nbk_func_ener nbnxm_kernel_energrp_simd_4xm[coulktNR][vdwktNR] =
+{
+ {
+ nbnxm_kernel_ElecRF_VdwLJCombGeom_VgrpF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJCombLB_VgrpF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJ_VgrpF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJFSw_VgrpF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJPSw_VgrpF_4xm,
+ nbnxm_kernel_ElecRF_VdwLJEwCombGeom_VgrpF_4xm,
+ },
+ {
+ nbnxm_kernel_ElecQSTab_VdwLJCombGeom_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJCombLB_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJ_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJFSw_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJPSw_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTab_VdwLJEwCombGeom_VgrpF_4xm,
+ },
+ {
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombGeom_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJCombLB_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJ_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJFSw_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJPSw_VgrpF_4xm,
+ nbnxm_kernel_ElecQSTabTwinCut_VdwLJEwCombGeom_VgrpF_4xm,
+ },
+ {
+ nbnxm_kernel_ElecEw_VdwLJCombGeom_VgrpF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJCombLB_VgrpF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJ_VgrpF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJFSw_VgrpF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJPSw_VgrpF_4xm,
+ nbnxm_kernel_ElecEw_VdwLJEwCombGeom_VgrpF_4xm,
+ },
+ {
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJ_VgrpF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJFSw_VgrpF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJPSw_VgrpF_4xm,
+ nbnxm_kernel_ElecEwTwinCut_VdwLJEwCombGeom_VgrpF_4xm,
+ },
+};
+
+
+#endif /* INCLUDE_KERNELFUNCTION_TABLES */
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
// FIXME: remove the "__" prefix in front of the group def when we move the
// nonbonded code into separate dir.
-/*! \libinternal \defgroup __module_nb_verlet Short-range non-bonded interaction module
+/*! \libinternal \defgroup __module_nbnxm Short-range non-bonded interaction module
* \ingroup group_mdrun
*
* \brief Computes forces and energies for short-range pair-interactions
* for GPU pair-list setup interaction kernel.
*
* The implementation of the kernels is based on the cluster non-bonded algorithm
- * which in the code is referred to as the NxN algorithms ("nbnxn_" prefix);
+ * which in the code is referred to as the NxM algorithms ("nbnxm_" prefix);
* for details of the algorithm see DOI:10.1016/j.cpc.2013.06.003.
*
* Algorithmically, the non-bonded computation has two different modes:
/*! \libinternal \file
*
- * \brief This file contains the public interface of the non-bonded Verlet module
- * that implements the NxN cluster non-bonded algorithm to efficiently compute
- * pair forces.
+ * \brief This file contains the public interface of the nbnxm module
+ * that implements the NxM atom cluster non-bonded algorithm to efficiently
+ * compute pair forces.
*
*
* \author Berk Hess <hess@kth.se>
* \author Szilárd Páll <pall.szilard@gmail.com>
*
* \inlibraryapi
- * \ingroup __module_nb_verlet
+ * \ingroup __module_nbnxm
*/
-#ifndef NB_VERLET_H
-#define NB_VERLET_H
+#ifndef GMX_NBNXM_NBNXM_H
+#define GMX_NBNXM_NBNXM_H
#include <memory>
-#include "gromacs/mdlib/nbnxn_gpu_types.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/math/vectypes.h"
+#include "gromacs/nbnxm/pairlist.h"
+#include "gromacs/nbnxm/pairlistset.h"
+#include "gromacs/utility/arrayref.h"
+#include "gromacs/utility/real.h"
+
+// TODO: Remove these includes
+#include "kerneldispatch.h"
+#include "nbnxm_gpu.h"
+
+struct gmx_device_info_t;
+struct gmx_domdec_zones_t;
+struct gmx_hw_info_t;
+struct gmx_mtop_t;
+struct t_commrec;
+struct t_forcerec;
+struct t_inputrec;
+
+namespace gmx
+{
+class MDLogger;
+class UpdateGroupsCog;
+}
//! Help pass GPU-emulation parameters with type safety.
enum class EmulateGpuNonbonded : bool
used for the 8x8x8 GPU kernels */
} nonbonded_verlet_t;
-/*! \brief Getter for bUseGPU */
-gmx_bool
-usingGpu(nonbonded_verlet_t *nbv);
+/*! \brief Initializes the nbnxn module */
+void init_nb_verlet(const gmx::MDLogger &mdlog,
+ nonbonded_verlet_t **nb_verlet,
+ gmx_bool bFEP_NonBonded,
+ const t_inputrec *ir,
+ const t_forcerec *fr,
+ const t_commrec *cr,
+ const gmx_hw_info_t &hardwareInfo,
+ const gmx_device_info_t *deviceInfo,
+ const gmx_mtop_t *mtop,
+ matrix box);
+
+/*! \brief Put the atoms on the pair search grid.
+ *
+ * Only atoms atomStart to atomEnd in x are put on the grid.
+ * The atom_density is used to determine the grid size.
+ * When atomDensity<=0, the density is determined from atomEnd-atomStart and the corners.
+ * With domain decomposition part of the n particles might have migrated,
+ * but have not been removed yet. This count is given by nmoved.
+ * When move[i] < 0 particle i has migrated and will not be put on the grid.
+ * Without domain decomposition move will be NULL.
+ */
+void nbnxn_put_on_grid(nbnxn_search_t nbs,
+ int ePBC,
+ const matrix box,
+ int ddZone,
+ const rvec lowerCorner,
+ const rvec upperCorner,
+ const gmx::UpdateGroupsCog *updateGroupsCog,
+ int atomStart,
+ int atomEnd,
+ real atomDensity,
+ const int *atinfo,
+ gmx::ArrayRef<const gmx::RVec> x,
+ int numAtomsMoved,
+ const int *move,
+ int nb_kernel_type,
+ nbnxn_atomdata_t *nbat);
+
+/*! \brief As nbnxn_put_on_grid, but for the non-local atoms
+ *
+ * with domain decomposition. Should be called after calling
+ * nbnxn_search_put_on_grid for the local atoms / home zone.
+ */
+void nbnxn_put_on_grid_nonlocal(nbnxn_search_t nbs,
+ const struct gmx_domdec_zones_t *zones,
+ const int *atinfo,
+ gmx::ArrayRef<const gmx::RVec> x,
+ int nb_kernel_type,
+ nbnxn_atomdata_t *nbat);
+
+/*! \brief Returns the number of x and y cells in the local grid */
+void nbnxn_get_ncells(nbnxn_search_t nbs, int *ncx, int *ncy);
+
+/*! \brief Returns the order indices of the atoms on the pairlist search grid */
+gmx::ArrayRef<const int> nbnxn_get_atomorder(const nbnxn_search* nbs);
+
+/*! \brief Renumbers the atom indices on the grid to consecutive order */
+void nbnxn_set_atomorder(nbnxn_search_t nbs);
+
+/*! \brief Returns the index position of the atoms on the pairlist search grid */
+gmx::ArrayRef<const int> nbnxn_get_gridindices(const nbnxn_search* nbs);
-#endif /* NB_VERLET_H */
+#endif // GMX_NBNXN_NBNXN_H
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef GMX_MDLIB_NBNXN_UTIL_H
-#define GMX_MDLIB_NBNXN_UTIL_H
+#include "gmxpre.h"
-#include <cmath>
+#include "nbnxm_geometry.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/simd/simd.h"
#include "gromacs/utility/fatalerror.h"
-
-/* Returns the base-2 log of n.
- * Generates a fatal error when n is not an integer power of 2.
- */
-static inline int get_2log(int n)
-{
- int log2;
-
- log2 = 0;
- while ((1 << log2) < n)
- {
- log2++;
- }
- if ((1 << log2) != n)
- {
- gmx_fatal(FARGS, "nbnxn na_c (%d) is not a power of 2", n);
- }
-
- return log2;
-}
-
-/* Returns the nbnxn i-cluster size in atoms for the nbnxn kernel type */
-static inline int nbnxn_kernel_to_cluster_i_size(int nb_kernel_type)
+int nbnxn_kernel_to_cluster_i_size(int nb_kernel_type)
{
switch (nb_kernel_type)
{
return 0;
}
-/* Returns the nbnxn i-cluster size in atoms for the nbnxn kernel type */
-static inline int nbnxn_kernel_to_cluster_j_size(int nb_kernel_type)
+int nbnxn_kernel_to_cluster_j_size(int nb_kernel_type)
{
int nbnxn_simd_width = 0;
int cj_size = 0;
return cj_size;
}
-
-
-#endif
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+
+#ifndef GMX_NBNXM_NBNXM_GEOMETRY_H
+#define GMX_NBNXM_NBNXM_GEOMETRY_H
+
+#include "gromacs/utility/fatalerror.h"
+
+/* Returns the base-2 log of n.
+ * Generates a fatal error when n is not an integer power of 2.
+ */
+static inline int get_2log(int n)
+{
+ int log2;
+
+ log2 = 0;
+ while ((1 << log2) < n)
+ {
+ log2++;
+ }
+ if ((1 << log2) != n)
+ {
+ gmx_fatal(FARGS, "nbnxn na_c (%d) is not a power of 2", n);
+ }
+
+ return log2;
+}
+
+/* Returns the nbnxn i-cluster size in atoms for the nbnxn kernel type */
+int nbnxn_kernel_to_cluster_i_size(int nb_kernel_type);
+
+/* Returns the nbnxn i-cluster size in atoms for the nbnxn kernel type */
+int nbnxn_kernel_to_cluster_j_size(int nb_kernel_type);
+
+#endif
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-/*! \internal \file
+/*! \libinternal \file
* \brief Declare interface for GPU execution for NBNXN module
*
* \author Szilard Pall <pall.szilard@gmail.com>
* \author Mark Abraham <mark.j.abraham@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
-#ifndef GMX_MDLIB_NBNXN_GPU_H
-#define GMX_MDLIB_NBNXN_GPU_H
+#ifndef GMX_NBNXM_NBNXM_GPU_H
+#define GMX_NBNXM_NBNXM_GPU_H
#include "gromacs/gpu_utils/gpu_macros.h"
#include "gromacs/math/vectypes.h"
-#include "gromacs/mdlib/nbnxn_gpu_types.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/real.h"
+#include "gpu_types.h"
+
struct nbnxn_atomdata_t;
enum class GpuTaskCompletion;
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2019, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*! \internal \file
+ * \brief Common functions for the different NBNXN GPU implementations.
+ *
+ * \author Berk Hess <hess@kth.se>
+ *
+ * \ingroup module_nbnxm
+ */
+
+#include "gmxpre.h"
+
+#include "gromacs/domdec/domdec.h"
+#include "gromacs/domdec/domdec_struct.h"
+#include "gromacs/hardware/hw_info.h"
+#include "gromacs/mdlib/gmx_omp_nthreads.h"
+#include "gromacs/mdtypes/commrec.h"
+#include "gromacs/mdtypes/forcerec.h"
+#include "gromacs/mdtypes/inputrec.h"
+#include "gromacs/nbnxm/atomdata.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/nbnxm_geometry.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
+#include "gromacs/nbnxm/pairlist_tuning.h"
+#include "gromacs/simd/simd.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/logger.h"
+
+#include "internal.h"
+
+/*! \brief Returns whether CPU SIMD support exists for the given inputrec
+ *
+ * If the return value is FALSE and fplog/cr != NULL, prints a fallback
+ * message to fplog/stderr.
+ */
+static gmx_bool nbnxn_simd_supported(const gmx::MDLogger &mdlog,
+ const t_inputrec *ir)
+{
+ if (ir->vdwtype == evdwPME && ir->ljpme_combination_rule == eljpmeLB)
+ {
+ /* LJ PME with LB combination rule does 7 mesh operations.
+ * This so slow that we don't compile SIMD non-bonded kernels
+ * for that. */
+ GMX_LOG(mdlog.warning).asParagraph().appendText("LJ-PME with Lorentz-Berthelot is not supported with SIMD kernels, falling back to plain C kernels");
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+/*! \brief Returns the most suitable CPU kernel type and Ewald handling */
+static void pick_nbnxn_kernel_cpu(const t_inputrec gmx_unused *ir,
+ int *kernel_type,
+ int *ewald_excl,
+ const gmx_hw_info_t gmx_unused &hardwareInfo)
+{
+ *kernel_type = nbnxnk4x4_PlainC;
+ *ewald_excl = ewaldexclTable;
+
+#if GMX_SIMD
+ {
+#ifdef GMX_NBNXN_SIMD_4XN
+ *kernel_type = nbnxnk4xN_SIMD_4xN;
+#endif
+#ifdef GMX_NBNXN_SIMD_2XNN
+ *kernel_type = nbnxnk4xN_SIMD_2xNN;
+#endif
+
+#if defined GMX_NBNXN_SIMD_2XNN && defined GMX_NBNXN_SIMD_4XN
+ /* We need to choose if we want 2x(N+N) or 4xN kernels.
+ * This is based on the SIMD acceleration choice and CPU information
+ * detected at runtime.
+ *
+ * 4xN calculates more (zero) interactions, but has less pair-search
+ * work and much better kernel instruction scheduling.
+ *
+ * Up till now we have only seen that on Intel Sandy/Ivy Bridge,
+ * which doesn't have FMA, both the analytical and tabulated Ewald
+ * kernels have similar pair rates for 4x8 and 2x(4+4), so we choose
+ * 2x(4+4) because it results in significantly fewer pairs.
+ * For RF, the raw pair rate of the 4x8 kernel is higher than 2x(4+4),
+ * 10% with HT, 50% without HT. As we currently don't detect the actual
+ * use of HT, use 4x8 to avoid a potential performance hit.
+ * On Intel Haswell 4x8 is always faster.
+ */
+ *kernel_type = nbnxnk4xN_SIMD_4xN;
+
+#if !GMX_SIMD_HAVE_FMA
+ if (EEL_PME_EWALD(ir->coulombtype) ||
+ EVDW_PME(ir->vdwtype))
+ {
+ /* We have Ewald kernels without FMA (Intel Sandy/Ivy Bridge).
+ * There are enough instructions to make 2x(4+4) efficient.
+ */
+ *kernel_type = nbnxnk4xN_SIMD_2xNN;
+ }
+#endif
+ if (hardwareInfo.haveAmdZenCpu)
+ {
+ /* One 256-bit FMA per cycle makes 2xNN faster */
+ *kernel_type = nbnxnk4xN_SIMD_2xNN;
+ }
+#endif /* GMX_NBNXN_SIMD_2XNN && GMX_NBNXN_SIMD_4XN */
+
+
+ if (getenv("GMX_NBNXN_SIMD_4XN") != nullptr)
+ {
+#ifdef GMX_NBNXN_SIMD_4XN
+ *kernel_type = nbnxnk4xN_SIMD_4xN;
+#else
+ gmx_fatal(FARGS, "SIMD 4xN kernels requested, but GROMACS has been compiled without support for these kernels");
+#endif
+ }
+ if (getenv("GMX_NBNXN_SIMD_2XNN") != nullptr)
+ {
+#ifdef GMX_NBNXN_SIMD_2XNN
+ *kernel_type = nbnxnk4xN_SIMD_2xNN;
+#else
+ gmx_fatal(FARGS, "SIMD 2x(N+N) kernels requested, but GROMACS has been compiled without support for these kernels");
+#endif
+ }
+
+ /* Analytical Ewald exclusion correction is only an option in
+ * the SIMD kernel.
+ * Since table lookup's don't parallelize with SIMD, analytical
+ * will probably always be faster for a SIMD width of 8 or more.
+ * With FMA analytical is sometimes faster for a width if 4 as well.
+ * In single precision, this is faster on Bulldozer.
+ */
+#if GMX_SIMD_REAL_WIDTH >= 8 || \
+ (GMX_SIMD_REAL_WIDTH >= 4 && GMX_SIMD_HAVE_FMA && !GMX_DOUBLE)
+ /* On AMD Zen, tabulated Ewald kernels are faster on all 4 combinations
+ * of single or double precision and 128 or 256-bit AVX2.
+ */
+ if (!hardwareInfo.haveAmdZenCpu)
+ {
+ *ewald_excl = ewaldexclAnalytical;
+ }
+#endif
+ if (getenv("GMX_NBNXN_EWALD_TABLE") != nullptr)
+ {
+ *ewald_excl = ewaldexclTable;
+ }
+ if (getenv("GMX_NBNXN_EWALD_ANALYTICAL") != nullptr)
+ {
+ *ewald_excl = ewaldexclAnalytical;
+ }
+
+ }
+#endif // GMX_SIMD
+}
+
+const char *lookup_nbnxn_kernel_name(int kernel_type)
+{
+ const char *returnvalue = nullptr;
+ switch (kernel_type)
+ {
+ case nbnxnkNotSet:
+ returnvalue = "not set";
+ break;
+ case nbnxnk4x4_PlainC:
+ returnvalue = "plain C";
+ break;
+ case nbnxnk4xN_SIMD_4xN:
+ case nbnxnk4xN_SIMD_2xNN:
+#if GMX_SIMD
+ returnvalue = "SIMD";
+#else // GMX_SIMD
+ returnvalue = "not available";
+#endif // GMX_SIMD
+ break;
+ case nbnxnk8x8x8_GPU: returnvalue = "GPU"; break;
+ case nbnxnk8x8x8_PlainC: returnvalue = "plain C"; break;
+
+ case nbnxnkNR:
+ default:
+ gmx_fatal(FARGS, "Illegal kernel type selected");
+ }
+ return returnvalue;
+};
+
+/*! \brief Returns the most suitable kernel type and Ewald handling */
+static void pick_nbnxn_kernel(const gmx::MDLogger &mdlog,
+ gmx_bool use_simd_kernels,
+ const gmx_hw_info_t &hardwareInfo,
+ gmx_bool bUseGPU,
+ EmulateGpuNonbonded emulateGpu,
+ const t_inputrec *ir,
+ int *kernel_type,
+ int *ewald_excl,
+ gmx_bool bDoNonbonded)
+{
+ GMX_RELEASE_ASSERT(kernel_type, "Need a valid kernel_type pointer");
+
+ *kernel_type = nbnxnkNotSet;
+ *ewald_excl = ewaldexclTable;
+
+ if (emulateGpu == EmulateGpuNonbonded::Yes)
+ {
+ *kernel_type = nbnxnk8x8x8_PlainC;
+
+ if (bDoNonbonded)
+ {
+ GMX_LOG(mdlog.warning).asParagraph().appendText("Emulating a GPU run on the CPU (slow)");
+ }
+ }
+ else if (bUseGPU)
+ {
+ *kernel_type = nbnxnk8x8x8_GPU;
+ }
+
+ if (*kernel_type == nbnxnkNotSet)
+ {
+ if (use_simd_kernels &&
+ nbnxn_simd_supported(mdlog, ir))
+ {
+ pick_nbnxn_kernel_cpu(ir, kernel_type, ewald_excl, hardwareInfo);
+ }
+ else
+ {
+ *kernel_type = nbnxnk4x4_PlainC;
+ }
+ }
+
+ if (bDoNonbonded)
+ {
+ GMX_LOG(mdlog.info).asParagraph().appendTextFormatted(
+ "Using %s %dx%d nonbonded short-range kernels",
+ lookup_nbnxn_kernel_name(*kernel_type),
+ nbnxn_kernel_to_cluster_i_size(*kernel_type),
+ nbnxn_kernel_to_cluster_j_size(*kernel_type));
+
+ if (nbnxnk4x4_PlainC == *kernel_type ||
+ nbnxnk8x8x8_PlainC == *kernel_type)
+ {
+ GMX_LOG(mdlog.warning).asParagraph().appendTextFormatted(
+ "WARNING: Using the slow %s kernels. This should\n"
+ "not happen during routine usage on supported platforms.",
+ lookup_nbnxn_kernel_name(*kernel_type));
+ }
+ }
+}
+
+void init_nb_verlet(const gmx::MDLogger &mdlog,
+ nonbonded_verlet_t **nb_verlet,
+ gmx_bool bFEP_NonBonded,
+ const t_inputrec *ir,
+ const t_forcerec *fr,
+ const t_commrec *cr,
+ const gmx_hw_info_t &hardwareInfo,
+ const gmx_device_info_t *deviceInfo,
+ const gmx_mtop_t *mtop,
+ matrix box)
+{
+ nonbonded_verlet_t *nbv;
+ char *env;
+
+ nbv = new nonbonded_verlet_t();
+
+ nbv->emulateGpu = ((getenv("GMX_EMULATE_GPU") != nullptr) ? EmulateGpuNonbonded::Yes : EmulateGpuNonbonded::No);
+ nbv->bUseGPU = deviceInfo != nullptr;
+
+ GMX_RELEASE_ASSERT(!(nbv->emulateGpu == EmulateGpuNonbonded::Yes && nbv->bUseGPU), "When GPU emulation is active, there cannot be a GPU assignment");
+
+ nbv->nbs = nullptr;
+ nbv->min_ci_balanced = 0;
+
+ nbv->ngrp = (DOMAINDECOMP(cr) ? 2 : 1);
+ for (int i = 0; i < nbv->ngrp; i++)
+ {
+ nbv->grp[i].nbl_lists.nnbl = 0;
+ nbv->grp[i].kernel_type = nbnxnkNotSet;
+
+ if (i == 0) /* local */
+ {
+ pick_nbnxn_kernel(mdlog, fr->use_simd_kernels, hardwareInfo,
+ nbv->bUseGPU, nbv->emulateGpu, ir,
+ &nbv->grp[i].kernel_type,
+ &nbv->grp[i].ewald_excl,
+ fr->bNonbonded);
+ }
+ else /* non-local */
+ {
+ /* Use the same kernel for local and non-local interactions */
+ nbv->grp[i].kernel_type = nbv->grp[0].kernel_type;
+ nbv->grp[i].ewald_excl = nbv->grp[0].ewald_excl;
+ }
+ }
+
+ nbv->listParams = std::make_unique<NbnxnListParameters>(ir->rlist);
+ setupDynamicPairlistPruning(mdlog, ir, mtop, box, nbv->grp[0].kernel_type, fr->ic,
+ nbv->listParams.get());
+
+ nbv->nbs = std::make_unique<nbnxn_search>(DOMAINDECOMP(cr) ? &cr->dd->nc : nullptr,
+ DOMAINDECOMP(cr) ? domdec_zones(cr->dd) : nullptr,
+ bFEP_NonBonded,
+ gmx_omp_nthreads_get(emntPairsearch));
+
+ for (int i = 0; i < nbv->ngrp; i++)
+ {
+ nbnxn_init_pairlist_set(&nbv->grp[i].nbl_lists,
+ nbnxn_kernel_pairlist_simple(nbv->grp[i].kernel_type),
+ /* 8x8x8 "non-simple" lists are ATM always combined */
+ !nbnxn_kernel_pairlist_simple(nbv->grp[i].kernel_type));
+ }
+
+ int enbnxninitcombrule;
+ if (fr->ic->vdwtype == evdwCUT &&
+ (fr->ic->vdw_modifier == eintmodNONE ||
+ fr->ic->vdw_modifier == eintmodPOTSHIFT) &&
+ getenv("GMX_NO_LJ_COMB_RULE") == nullptr)
+ {
+ /* Plain LJ cut-off: we can optimize with combination rules */
+ enbnxninitcombrule = enbnxninitcombruleDETECT;
+ }
+ else if (fr->ic->vdwtype == evdwPME)
+ {
+ /* LJ-PME: we need to use a combination rule for the grid */
+ if (fr->ljpme_combination_rule == eljpmeGEOM)
+ {
+ enbnxninitcombrule = enbnxninitcombruleGEOM;
+ }
+ else
+ {
+ enbnxninitcombrule = enbnxninitcombruleLB;
+ }
+ }
+ else
+ {
+ /* We use a full combination matrix: no rule required */
+ enbnxninitcombrule = enbnxninitcombruleNONE;
+ }
+
+ nbv->nbat = new nbnxn_atomdata_t(nbv->bUseGPU ? gmx::PinningPolicy::PinnedIfSupported : gmx::PinningPolicy::CannotBePinned);
+ int mimimumNumEnergyGroupNonbonded = ir->opts.ngener;
+ if (ir->opts.ngener - ir->nwall == 1)
+ {
+ /* We have only one non-wall energy group, we do not need energy group
+ * support in the non-bondeds kernels, since all non-bonded energy
+ * contributions go to the first element of the energy group matrix.
+ */
+ mimimumNumEnergyGroupNonbonded = 1;
+ }
+ bool bSimpleList = nbnxn_kernel_pairlist_simple(nbv->grp[0].kernel_type);
+ nbnxn_atomdata_init(mdlog,
+ nbv->nbat,
+ nbv->grp[0].kernel_type,
+ enbnxninitcombrule,
+ fr->ntype, fr->nbfp,
+ mimimumNumEnergyGroupNonbonded,
+ bSimpleList ? gmx_omp_nthreads_get(emntNonbonded) : 1);
+
+ if (nbv->bUseGPU)
+ {
+ /* init the NxN GPU data; the last argument tells whether we'll have
+ * both local and non-local NB calculation on GPU */
+ nbnxn_gpu_init(&nbv->gpu_nbv,
+ deviceInfo,
+ fr->ic,
+ nbv->listParams.get(),
+ nbv->nbat,
+ cr->nodeid,
+ (nbv->ngrp > 1));
+
+ if ((env = getenv("GMX_NB_MIN_CI")) != nullptr)
+ {
+ char *end;
+
+ nbv->min_ci_balanced = strtol(env, &end, 10);
+ if (!end || (*end != 0) || nbv->min_ci_balanced < 0)
+ {
+ gmx_fatal(FARGS, "Invalid value passed in GMX_NB_MIN_CI=%s, non-negative integer required", env);
+ }
+
+ if (debug)
+ {
+ fprintf(debug, "Neighbor-list balancing parameter: %d (passed as env. var.)\n",
+ nbv->min_ci_balanced);
+ }
+ }
+ else
+ {
+ nbv->min_ci_balanced = nbnxn_gpu_min_ci_balanced(nbv->gpu_nbv);
+ if (debug)
+ {
+ fprintf(debug, "Neighbor-list balancing parameter: %d (auto-adjusted to the number of GPU multi-processors)\n",
+ nbv->min_ci_balanced);
+ }
+ }
+
+ }
+
+ *nb_verlet = nbv;
+}
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2014,2015, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _nbnxn_simd_h
-#define _nbnxn_simd_h
+#ifndef GMX_NBNXM_NBNXM_SIMD_H
+#define GMX_NBNXM_NBNXM_SIMD_H
#include "gromacs/math/vectypes.h"
#include "gromacs/simd/simd.h"
#
# This file is part of the GROMACS molecular simulation package.
#
-# Copyright (c) 2012,2013,2014,2015,2018, by the GROMACS development team, led by
+# Copyright (c) 2012,2013,2014,2015,2018,2019, by the GROMACS development team, led by
# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
# and including many others, as listed in the AUTHORS file in the
# top-level source directory and at http://www.gromacs.org.
if(GMX_USE_OPENCL)
file(GLOB OPENCL_NB_SOURCES *.cpp)
- set(MDLIB_SOURCES ${MDLIB_SOURCES} ${OPENCL_NB_SOURCES} PARENT_SCOPE)
+ set(NBNXM_SOURCES ${NBNXM_SOURCES} ${OPENCL_NB_SOURCES} PARENT_SCOPE)
endif()
set(ELEC_DEFS
endif()
string(REGEX REPLACE ".*=" "" ELEC_NAME "${ELEC_DEF}")
string(REGEX REPLACE ".*=" "" VDW_NAME "${VDW_DEF}")
- set(OBJ_FILE nbnxn_ocl_kernel${ELEC_NAME}${VDW_NAME}_${VENDOR}.o)
+ set(OBJ_FILE nbnxm_ocl_kernel${ELEC_NAME}${VDW_NAME}_${VENDOR}.o)
add_custom_command(OUTPUT ${OBJ_FILE} COMMAND ${OCL_COMPILER}
- ${CMAKE_CURRENT_SOURCE_DIR}/nbnxn_ocl_kernels.cl ${CLANG_TIDY_ARGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/nbnxm_ocl_kernels.cl ${CLANG_TIDY_ARGS}
-Xclang -finclude-default-header -D_${VENDOR}_SOURCE_
-DGMX_OCL_FASTGEN ${ELEC_DEF} ${VDW_DEF}
- -DNBNXN_GPU_CLUSTER_SIZE=${CLUSTER_SIZE} -DIATYPE_SHMEM
+ -DNBNXM_GPU_CLUSTER_SIZE=${CLUSTER_SIZE} -DIATYPE_SHMEM
-c -I ${CMAKE_SOURCE_DIR}/src -std=cl1.2
-Weverything -Wno-conversion -Wno-missing-variable-declarations -Wno-used-but-marked-unused
-Wno-cast-align -Wno-incompatible-pointer-types
-o${OBJ_FILE}
)
- list(APPEND NBNXN_OCL_KERNELS ${OBJ_FILE})
+ list(APPEND NBNXM_OCL_KERNELS ${OBJ_FILE})
endforeach()
endforeach()
endforeach()
-add_custom_target(ocl_kernel DEPENDS ${NBNXN_OCL_KERNELS})
+add_custom_target(ocl_kernel DEPENDS ${NBNXM_OCL_KERNELS})
* the research papers on the package. Check out http://www.gromacs.org.
*/
/*! \internal \file
- * \brief Define OpenCL implementation of nbnxn_gpu.h
+ * \brief Define OpenCL implementation of nbnxm_gpu.h
*
* \author Anca Hamuraru <anca@streamcomputing.eu>
* \author Teemu Virolainen <teemu@streamcomputing.eu>
* \author Dimitrios Karkoulis <dimitris.karkoulis@gmail.com>
* \author Szilárd Páll <pall.szilard@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*
* TODO (psz):
* - Add a static const cl_uint c_pruneKernelWorkDim / c_nbnxnKernelWorkDim = 3;
#include "gromacs/gpu_utils/oclutils.h"
#include "gromacs/hardware/hw_info.h"
#include "gromacs/mdlib/force_flags.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_gpu.h"
-#include "gromacs/mdlib/nbnxn_gpu_common.h"
-#include "gromacs/mdlib/nbnxn_gpu_common_utils.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/nbnxm/gpu_common.h"
+#include "gromacs/nbnxm/gpu_common_utils.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/nbnxm_gpu.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/timing/gpu_timing.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxassert.h"
-#include "nbnxn_ocl_internal.h"
-#include "nbnxn_ocl_types.h"
-
+#include "nbnxm_ocl_internal.h"
+#include "nbnxm_ocl_types.h"
/*! \brief Convenience constants */
//@{
*
* Note that the row- and column-order of function pointers has to match the
* order of corresponding enumerated electrostatics and vdw types, resp.,
- * defined in nbnxn_cuda_types.h.
+ * defined in nbnxm_ocl_types.h.
*/
/*! \brief Force-only kernel function names. */
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2018, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef NBNXN_OPENCL_CONSTS_H
#define NBNXN_OPENCL_CONSTS_H
-/*! \brief Macros defining platform-dependent defaults for the prune kernel's j4 processing concurrency.
+/*! \internal \file
+ * \brief Macros defining platform-dependent defaults for the prune kernel's j4 processing concurrency.
*
* The GMX_NBNXN_PRUNE_KERNEL_J4_CONCURRENCY macro allows compile-time override.
*/
* the research papers on the package. Check out http://www.gromacs.org.
*/
/*! \internal \file
- * \brief Define OpenCL implementation of nbnxn_gpu_data_mgmt.h
+ * \brief Define OpenCL implementation of nbnxm_gpu_data_mgmt.h
*
* \author Anca Hamuraru <anca@streamcomputing.eu>
* \author Dimitrios Karkoulis <dimitris.karkoulis@gmail.com>
#include "gromacs/hardware/gpu_hw_info.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/force_flags.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_gpu.h"
-#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
-#include "gromacs/mdlib/nbnxn_gpu_jit_support.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/gpu_data_mgmt.h"
+#include "gromacs/nbnxm/gpu_jit_support.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/nbnxm_gpu.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/timing/gpu_timing.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/real.h"
#include "gromacs/utility/smalloc.h"
-#include "nbnxn_ocl_internal.h"
-#include "nbnxn_ocl_types.h"
+#include "nbnxm_ocl_internal.h"
+#include "nbnxm_ocl_types.h"
/*! \brief This parameter should be determined heuristically from the
* kernel execution times
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2016, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2016,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* \brief Internal API of the OpenCL non-bonded module.
*
* \author Szilárd Páll <pall.szilard@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
#include "gmxpre.h"
-#include "nbnxn_ocl_types.h"
+#include "nbnxm_ocl_types.h"
#ifndef NBNXN_OCL_INTERNAL_H
#define NBNXN_OCL_INTERNAL_H
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2014,2015,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*
* \author Dimitrios Karkoulis <dimitris.karkoulis@gmail.com>
* \author Mark Abraham <mark.j.abraham@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
#include "gmxpre.h"
#include "gromacs/gpu_utils/gpu_utils.h"
#include "gromacs/gpu_utils/ocl_compiler.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_gpu.h"
-#include "gromacs/mdlib/nbnxn_gpu_jit_support.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/gpu_jit_support.h"
+#include "gromacs/nbnxm/nbnxm_gpu.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/stringutil.h"
-#include "nbnxn_ocl_types.h"
+#include "nbnxm_ocl_types.h"
/*! \brief Stringifies the input argument
*/
nb->nbparam->vdwtype);
/* Here we pass macros and static const int variables defined
- * in include files outside the nbnxn_ocl as macros, to avoid
+ * in include files outside the opencl as macros, to avoid
* including those files in the JIT compilation that happens
* at runtime. This is particularly a problem for headers that
- * depend on config.h, such as nbnxn_pairlist.h. */
+ * depend on config.h, such as pairlist.h. */
extraDefines += gmx::formatString(
" -DNBNXN_GPU_CLUSTER_SIZE=%d "
"%s",
/* TODO when we have a proper MPI-aware logging module,
the log output here should be written there */
program = gmx::ocl::compileProgram(stderr,
- "gromacs/mdlib/nbnxn_ocl",
- "nbnxn_ocl_kernels.cl",
+ "gromacs/nbnxm/opencl",
+ "nbnxm_ocl_kernels.cl",
extraDefines,
nb->dev_rundata->context,
nb->dev_info->ocl_gpu_id.ocl_device_id,
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*
* \author Anca Hamuraru <anca@streamcomputing.eu>
* \author Szilárd Páll <pall.szilard@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
/* Currently we enable CJ prefetch for AMD/NVIDIA and disable it for the "nowarp" kernel
* Note that this should precede the kernel_utils include.
*/
-#include "nbnxn_ocl_kernel_utils.clh"
+#include "nbnxm_ocl_kernel_utils.clh"
/////////////////////////////////////////////////////////////////////////////////////////////////
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* OpenCL 1.2 support is expected; tested on AMD GCN and NVIDIA CC >3.0.
*
* \author Szilárd Páll <pall.szilard@gmail.com>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
-#include "nbnxn_ocl_kernel_utils.clh"
+#include "nbnxm_ocl_kernel_utils.clh"
/* Note: the AMD compiler testing was done with (fglrx 15.12) performs best with wg
* size 256 (this is an artificial compiler limitation). The compiler is also
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gromacs/gpu_utils/device_utils.clh"
#include "gromacs/gpu_utils/vectype_ops.clh"
-#include "gromacs/mdlib/nbnxn_consts.h"
+#include "gromacs/nbnxm/constants.h"
#include "gromacs/pbcutil/ishift.h"
-#include "nbnxn_ocl_consts.h"
+#include "nbnxm_ocl_consts.h"
#define CL_SIZE (NBNXN_GPU_CLUSTER_SIZE)
#define NCL_PER_SUPERCL c_nbnxnGpuNumClusterPerSupercluster
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
/* Generate pruning kernels. */
#define HAVE_FRESH_LIST 1
-#include "nbnxn_ocl_kernel_pruneonly.clh"
+#include "nbnxm_ocl_kernel_pruneonly.clh"
#undef HAVE_FRESH_LIST
-#include "nbnxn_ocl_kernel_pruneonly.clh"
+#include "nbnxm_ocl_kernel_pruneonly.clh"
#if defined GMX_OCL_FASTGEN
- #define FLAVOR_LEVEL_GENERATOR "nbnxn_ocl_kernels_fastgen.clh"
+ #define FLAVOR_LEVEL_GENERATOR "nbnxm_ocl_kernels_fastgen.clh"
#elif defined GMX_OCL_FASTGEN_ADD_TWINCUT
- #define FLAVOR_LEVEL_GENERATOR "nbnxn_ocl_kernels_fastgen_add_twincut.clh"
+ #define FLAVOR_LEVEL_GENERATOR "nbnxm_ocl_kernels_fastgen_add_twincut.clh"
#else
- #define FLAVOR_LEVEL_GENERATOR "nbnxn_ocl_kernels.clh"
+ #define FLAVOR_LEVEL_GENERATOR "nbnxm_ocl_kernels.clh"
#endif
/* Top-level kernel generation: will generate through multiple inclusion the
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2016,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2016,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* NOTE: No include fence as it is meant to be included multiple times.
*/
-#include "nbnxn_ocl_kernel_utils.clh"
+#include "nbnxm_ocl_kernel_utils.clh"
/* Analytical plain cut-off electrostatics kernels
*/
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecCut_VdwLJ ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecCut_VdwLJCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecCut_VdwLJCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecCut_VdwLJEwCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecCut_VdwLJEwCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecCut_VdwLJFsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecCut_VdwLJPsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecRF_VdwLJ ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecRF_VdwLJCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecRF_VdwLJCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecRF_VdwLJEwCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecRF_VdwLJEwCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecRF_VdwLJFsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecRF_VdwLJPsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEw_VdwLJ ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEw_VdwLJCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEw_VdwLJCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEw_VdwLJEwCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEw_VdwLJEwCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEw_VdwLJFsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEw_VdwLJPsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwTwinCut_VdwLJ ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwTwinCut_VdwLJCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwTwinCut_VdwLJCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwTwinCut_VdwLJEwCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwTwinCut_VdwLJEwCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwTwinCut_VdwLJFsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwTwinCut_VdwLJPsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTab_VdwLJ ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTab_VdwLJCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTab_VdwLJCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTab_VdwLJEwCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTab_VdwLJEwCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTab_VdwLJFsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTab_VdwLJPsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ */
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTabTwinCut_VdwLJ ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w geometric combination rules */
#define LJ_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTabTwin_VdwLJCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* cut-off + V shift LJ w LB combination rules */
#define LJ_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTabTwin_VdwLJCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w geometric combination rules */
#define LJ_EWALD_COMB_GEOM
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTabTwinCut_VdwLJEwCombGeom ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_GEOM
#undef NB_KERNEL_FUNC_NAME
/* LJ-Ewald w LB combination rules */
#define LJ_EWALD_COMB_LB
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTabTwinCut_VdwLJEwCombLB ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_EWALD_COMB_LB
#undef NB_KERNEL_FUNC_NAME
/* F switch LJ */
#define LJ_FORCE_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTabTwinCut_VdwLJFsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_FORCE_SWITCH
#undef NB_KERNEL_FUNC_NAME
/* V switch LJ */
#define LJ_POT_SWITCH
#define NB_KERNEL_FUNC_NAME(x, y) x ## _ElecEwQSTabTwinCut_VdwLJPsw ## y
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef LJ_POT_SWITCH
#undef NB_KERNEL_FUNC_NAME
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* NOTE: No include fence as it is meant to be included multiple times.
*/
-#include "nbnxn_ocl_kernel_utils.clh"
+#include "nbnxm_ocl_kernel_utils.clh"
#define NB_INDIRECT_1(x, eel, vdw, y) x ## eel ## vdw ## y
#define NB_INDIRECT_2(x, eel, vdw, y) NB_INDIRECT_1(x, eel, vdw, y)
#define NB_KERNEL_FUNC_NAME(x, y) NB_INDIRECT_2(x, EELNAME, VDWNAME, y)
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* NOTE: No include fence as it is meant to be included multiple times.
*/
-#include "nbnxn_ocl_kernel_utils.clh"
+#include "nbnxm_ocl_kernel_utils.clh"
/* Define the single-cutoff version of the kernel */
#define NB_INDIRECT_2(x, eel, vdw, y) NB_INDIRECT_1(x, eel, vdw, y)
#define NB_KERNEL_FUNC_NAME(x, y) NB_INDIRECT_2(x, EELNAME, VDWNAME, y)
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
#define VDW_CUTOFF_CHECK
-#include "nbnxn_ocl_kernel.clh"
+#include "nbnxm_ocl_kernel.clh"
#undef NB_KERNEL_FUNC_NAME
#undef VDW_CUTOFF_CHECK
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
/*! \internal \file
* \brief
- * Data types used internally in the nbnxn_ocl module.
+ * Data types used internally in the nbnxm_ocl module.
*
* \author Anca Hamuraru <anca@streamcomputing.eu>
* \author Szilárd Páll <pszilard@kth.se>
- * \ingroup module_mdlib
+ * \ingroup module_nbnxm
*/
-#ifndef NBNXN_OPENCL_TYPES_H
-#define NBNXN_OPENCL_TYPES_H
+#ifndef GMX_NBNXM_NBNXM_OPENCL_TYPES_H
+#define GMX_NBNXM_NBNXM_OPENCL_TYPES_H
#include "gromacs/gpu_utils/devicebuffer.h"
#include "gromacs/gpu_utils/gmxopencl.h"
#include "gromacs/gpu_utils/gputraits_ocl.h"
#include "gromacs/gpu_utils/oclutils.h"
-#include "gromacs/mdlib/nbnxn_gpu_types_common.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
-#include "gromacs/mdlib/nbnxn_ocl/nbnxn_ocl_consts.h"
#include "gromacs/mdtypes/interaction_const.h"
+#include "gromacs/nbnxm/gpu_types_common.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/real.h"
+#include "nbnxm_ocl_consts.h"
+
/* kernel does #include "gromacs/math/utilities.h" */
/* Move the actual useful stuff here: */
#include "gmxpre.h"
-#include "nbnxn_search.h"
+#include "pairlist.h"
#include "config.h"
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_atomdata.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/mdlib/nbnxn_grid.h"
-#include "gromacs/mdlib/nbnxn_internal.h"
-#include "gromacs/mdlib/nbnxn_simd.h"
-#include "gromacs/mdlib/nbnxn_util.h"
#include "gromacs/mdlib/ns.h"
#include "gromacs/mdtypes/group.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/atomdata.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/nbnxm_geometry.h"
+#include "gromacs/nbnxm/nbnxm_simd.h"
+#include "gromacs/nbnxm/pairlistset.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/simd/simd.h"
#include "gromacs/utility/gmxomp.h"
#include "gromacs/utility/smalloc.h"
+#include "internal.h"
+
using namespace gmx; // TODO: Remove when this file is moved into gmx namespace
}
#ifdef GMX_NBNXN_SIMD_4XN
-#include "gromacs/mdlib/nbnxn_search_simd_4xn.h"
+#include "gromacs/nbnxm/pairlist_simd_4xm.h"
#endif
#ifdef GMX_NBNXN_SIMD_2XNN
-#include "gromacs/mdlib/nbnxn_search_simd_2xnn.h"
+#include "gromacs/nbnxm/pairlist_simd_2xmm.h"
#endif
/* Plain C or SIMD4 code for making a pair list of super-cell sci vs scj.
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _nbnxn_pairlist_h
-#define _nbnxn_pairlist_h
+#ifndef GMX_NBNXM_PAIRLIST_H
+#define GMX_NBNXM_PAIRLIST_H
#include "config.h"
#include "gromacs/gpu_utils/hostallocator.h"
#include "gromacs/math/vectypes.h"
-#include "gromacs/mdlib/nbnxn_consts.h"
#include "gromacs/mdtypes/nblist.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/bitmask.h"
#include "gromacs/utility/defaultinitializationallocator.h"
#include "gromacs/utility/real.h"
+// This file with constants is separate from this file to be able
+// to include it during OpenCL jitting without including config.h
+#include "gromacs/nbnxm/constants.h"
+
struct NbnxnPairlistCpuWork;
struct NbnxnPairlistGpuWork;
struct tMPI_Atomic;
static constexpr int c_gpuNumClusterPerCellX = 2;
static constexpr int c_gpuNumClusterPerCell = c_gpuNumClusterPerCellZ*c_gpuNumClusterPerCellY*c_gpuNumClusterPerCellX;
+
/* In CUDA the number of threads in a warp is 32 and we have cluster pairs
* of 8*8=64 atoms, so it's convenient to store data for cluster pair halves.
*/
gmx_cache_protect_t cp1;
};
-typedef struct {
+struct nbnxn_pairlist_set_t
+{
int nnbl; /* number of lists */
NbnxnPairlistCpu **nbl; /* lists for CPU */
NbnxnPairlistCpu **nbl_work; /* work space for rebalancing lists */
int natpair_q; /* Total number of atom pairs for Q kernel */
t_nblist **nbl_fep; /* List of free-energy atom pair interactions */
int64_t outerListCreationStep; /* Step at which the outer list was created */
-} nbnxn_pairlist_set_t;
+};
enum {
nbatXYZ, nbatXYZQ, nbatX4, nbatX8
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2017,2018,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gmxpre.h"
-#include "nbnxn_tuning.h"
+#include "pairlist_tuning.h"
#include <cassert>
#include <cmath>
#include "gromacs/hardware/cpuinfo.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/calc_verletbuf.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_search.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/mdtypes/state.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/topology/topology.h"
#include "gromacs/utility/cstringutil.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2017, by the GROMACS development team, led by
+ * Copyright (c) 2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* \ingroup __module_nb_verlet
*/
-#ifndef NBNXN_TUNING_H
-#define NBNXN_TUNING_H
+#ifndef NBNXM_PAIRLIST_TUNING_H
+#define NBNXM_PAIRLIST_TUNING_H
#include <stdio.h>
const interaction_const_t *ic,
NbnxnListParameters *listParams);
-#endif /* NBNXN_TUNING_H */
+#endif /* NBNXM_PAIRLIST_TUNING_H */
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef GMX_MDLIB_NBNXN_SEARCH_H
-#define GMX_MDLIB_NBNXN_SEARCH_H
+#ifndef GMX_NBNXM_PAIRLISTSET_H
+#define GMX_NBNXM_PAIRLISTSET_H
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/math/vectypes.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
struct gmx_domdec_zones_t;
struct gmx_groups_t;
+struct nbnxn_atomdata_t;
+struct nbnxn_pairlist_set_t;
+struct nbnxn_search;
struct t_blocka;
struct t_nrnb;
+/* Function that should return a pointer *ptr to memory
+ * of size nbytes.
+ * Error handling should be done within this function.
+ */
+typedef void nbnxn_alloc_t (void **ptr, size_t nbytes);
+
+/* Function that should free the memory pointed to by *ptr.
+ * NULL should not be passed to this function.
+ */
+typedef void nbnxn_free_t (void *ptr);
+
/* Tells if the pair-list corresponding to nb_kernel_type is simple.
* Returns FALSE for super-sub type pair-list.
*/
real nbnxn_get_rlist_effective_inc(int cluster_size, real atom_density);
/* Allocates and initializes a pair search data structure */
-nbnxn_search_t nbnxn_init_search(const ivec *n_dd_cells,
- const gmx_domdec_zones_t *zones,
- gmx_bool bFEP,
- int nthread_max);
+nbnxn_search *nbnxn_init_search(const ivec *n_dd_cells,
+ const gmx_domdec_zones_t *zones,
+ gmx_bool bFEP,
+ int nthread_max);
/* Initializes a set of pair lists stored in nbnxn_pairlist_set_t */
void nbnxn_init_pairlist_set(nbnxn_pairlist_set_t *nbl_list,
* for the number of equally sized lists is below min_ci_balanced.
* With perturbed particles, also a group scheme style nbl_fep list is made.
*/
-void nbnxn_make_pairlist(nbnxn_search_t nbs,
+void nbnxn_make_pairlist(nbnxn_search *nbs,
nbnxn_atomdata_t *nbat,
const t_blocka *excl,
real rlist,
#include "gmxpre.h"
-#include "nbnxn_kernel_prune.h"
+#include "prunekerneldispatch.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/nb_verlet.h"
-#include "gromacs/mdlib/nbnxn_pairlist.h"
+#include "gromacs/nbnxm/nbnxm.h"
+#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/utility/gmxassert.h"
-#include "nbnxn_kernel_ref_prune.h"
-#include "simd_2xnn/nbnxn_kernel_simd_2xnn_prune.h"
-#include "simd_4xn/nbnxn_kernel_simd_4xn_prune.h"
-
+#include "kernels_reference/kernel_ref_prune.h"
+#include "kernels_simd_2xmm/kernel_prune.h"
+#include "kernels_simd_4xm/kernel_prune.h"
void nbnxn_kernel_cpu_prune(nonbonded_verlet_group_t *nbvg,
const nbnxn_atomdata_t *nbat,
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2016,2017, by the GROMACS development team, led by
+ * Copyright (c) 2016,2017,2019, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* The wrapper function internally performs the OpenMP parallelization
* and calls the selected kernel flavor (different SIMD types / C reference).
*
+ * \inlibraryapi
+ *
* \author Berk Hess <hess@kth.se>
*/
#include "gromacs/hardware/hardwaretopology.h"
#include "gromacs/hardware/hw_info.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/nb_verlet.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/taskassignment/taskassignment.h"
#include "gromacs/topology/topology.h"
#include "gromacs/utility/baseversion.h"