Gromacs  2022.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Files
Non-bonded pair interactions
+ Collaboration diagram for Non-bonded pair interactions:

Description

Implements non-bonded pair interaction functionality for NxM atom clusters.

This module provides methods to, very efficiently, compute non-bonded pair interactions on CPUs as well as accelerators. It also provides a method to construct the NxM atom-cluster pair-list required for computing these non-bonded iteractions.

Files

file  atomdata.h
 Functionality for per-atom data in the nbnxm module.
 
file  bench_coords.h
 This file defines a box with 1000 SPC/E water molecules for use in benchmarks.
 
file  bench_setup.cpp
 This file defines functions for setting up kernel benchmarks.
 
file  bench_setup.h
 This file declares functions for setting up kernel benchmarks.
 
file  bench_system.cpp
 This file defines functions for setting up a benchmark system.
 
file  bench_system.h
 This file declares functions for setting up a benchmark system.
 
file  boundingboxes.h
 Declares constants and helper functions used when handling bounding boxes for clusters of particles.
 
file  clusterdistancekerneltype.h
 Declares the ClusterDistanceKernelType enum.
 
file  nbnxm_cuda.h
 Declares nbnxn cuda cache and texture helper functions.
 
file  nbnxm_cuda_types.h
 Data types used internally in the nbnxn_cuda module.
 
file  freeenergydispatch.h
 Declares the free-energy kernel dispatch class.
 
file  gpu_common.h
 Common functions for the different NBNXN GPU implementations.
 
file  gpu_common_utils.h
 Implements common util routines for different NBNXN GPU implementations.
 
file  gpu_data_mgmt.h
 Declare interface for GPU data transfer for NBNXN module.
 
file  gpu_jit_support.h
 Declares functions that support JIT compilation (e.g. for OpenCL)
 
file  gpu_types_common.h
 Implements common internal types for different NBNXN GPU implementations.
 
file  grid.cpp
 Implements the Grid class.
 
file  grid.h
 Declares the Grid class.
 
file  gridset.cpp
 Implements the GridSet class.
 
file  gridset.h
 Declares the GridSet class.
 
file  gridsetdata.h
 Declares the GridSetData struct which holds grid data that is shared over all grids.
 
file  kernel_common.cpp
 Implements utility functions used by all nbnxm CPU kernels.
 
file  kernel_common.h
 Declares the nbnxm pair interaction kernel function types and kind counts, also declares utility functions used in nbnxm_kernel.cpp.
 
file  kernel_gpu_ref.h
 Declares GPU reference kernel.
 
file  kernel_ref.h
 Declares CPU reference kernels.
 
file  kernel_ref_prune.h
 Declares the C reference pruning only kernel.
 
file  kernel_prune.h
 Declares the SIMD 2xNN pruning only kernel.
 
file  kernel_prune.h
 Declares the SIMD 4xN pruning only kernel.
 
file  nbnxm.cpp
 Implements the Nbnxm class.
 
file  nbnxm.h
 This file contains the public interface of the nbnxm module that implements the NxM atom cluster non-bonded algorithm to efficiently compute pair forces.
 
file  nbnxm_geometry.h
 Declares the geometry-related functionality.
 
file  nbnxm_gpu.h
 Declare interface for GPU execution for NBNXN module.
 
file  nbnxm_gpu_buffer_ops.cpp
 Common code for GPU buffer operations, namely the coordinate layout conversion.
 
file  nbnxm_gpu_buffer_ops_internal.h
 Wrapper for the backend-specific coordinate layout conversion functionality.
 
file  nbnxm_gpu_data_mgmt.cpp
 Define common implementation of nbnxm_gpu_data_mgmt.h.
 
file  nbnxm_gpu_data_mgmt.h
 Declare common functions for NBNXM GPU data management.
 
file  nbnxm_setup.cpp
 Common functions for the different NBNXN GPU implementations.
 
file  nbnxm_simd.h
 Defines constants used to know which Nbnxm kernel flavours (4xn or 2xnn) can be supported by the SIMD layer in use.
 
file  nbnxm_gpu_buffer_ops_internal_ocl.cpp
 Define OpenCL implementation for transforming position coordinates from rvec to nbnxm layout.
 
file  nbnxm_ocl.cpp
 Define OpenCL implementation of nbnxm_gpu.h.
 
file  nbnxm_ocl_consts.h
 Declares constants for OpenCL code.
 
file  nbnxm_ocl_data_mgmt.cpp
 Define OpenCL implementation of nbnxm_gpu_data_mgmt.h.
 
file  nbnxm_ocl_jit_support.cpp
 Defines functions that support JIT compilation (e.g. for OpenCL)
 
file  nbnxm_ocl_types.h
 Data types used internally in the nbnxm_ocl module.
 
file  pairlist_simd_2xmm.h
 Declares inline-friendly code for making 2xNN pairlists.
 
file  pairlist_simd_4xm.h
 Declares inline-friendly code for making 4xN pairlists.
 
file  pairlist_tuning.cpp
 Implements functions for tuning adjustable parameters for the nbnxn non-bonded search and interaction kernels.
 
file  pairlist_tuning.h
 Declares functions for tuning adjustable parameters for the nbnxn non-bonded search and interaction kernels.
 
file  pairlistparams.cpp
 Implements the PairlistParams constructor.
 
file  pairlistparams.h
 Declares the PairlistType enum and PairlistParams class.
 
file  pairlistset.cpp
 Implements functionality for PairlistSet.
 
file  pairlistset.h
 Declares the PairlistSet class.
 
file  pairlistsets.h
 Declares the PairlistSets class.
 
file  pairlistwork.h
 Declares working data structures for the CPU and GPU pairlists.
 
file  pairsearch.cpp
 Implements the PairSearch class.
 
file  pairsearch.h
 Declares the PairSearch class and helper structs.
 
file  nbnxm_gpu_buffer_ops_internal_sycl.cpp
 SYCL implementation of coordinate layout conversion kernel and its wrapper.
 
file  nbnxm_sycl.cpp
 Data management and kernel launch functions for nbnxm sycl.
 
file  nbnxm_sycl_data_mgmt.cpp
 Stubs of functions that must be defined by nbnxm sycl implementation.
 
file  nbnxm_sycl_kernel.cpp
 NBNXM SYCL kernels.
 
file  nbnxm_sycl_kernel.h
 Declares nbnxn sycl helper functions.
 
file  nbnxm_sycl_kernel_pruneonly.cpp
 NBNXM SYCL kernels.
 
file  nbnxm_sycl_kernel_pruneonly.h
 Declares nbnxn sycl helper functions.
 
file  nbnxm_sycl_kernel_utils.h
 Helper functions and constants for SYCL NBNXM kernels.
 
file  nbnxm_sycl_types.h
 Data types used internally in the nbnxm_sycl module.
 
file  kernelsetup.cpp
 Tests for Setup of kernels.