Client software developers do not interact directly with the contents of gmx::detail, but some declarations and definitions are necessary in the public headers, such as forward declarations of implementation classes and definitions of custom deleters.
|
template<typename T > |
Index | computePaddedSize (Index numElements) |
| Returns the allocation size for PaddedVector that contains numElements elements plus padding for SIMD operations. More...
|
|
template<typename T , typename AllocatorType > |
void | insertPaddingElements (std::vector< T, AllocatorType > *v, Index newPaddedSize) |
| Helper function to insert padding elements for most T.
|
|
template<typename T , typename AllocatorType > |
void | insertPaddingElements (std::vector< BasicVector< T >, AllocatorType > *v, Index newPaddedSize) |
| Specialization of helper function to insert padding elements, used for BasicVector<T>.
|
|
|
constexpr double | c_largeNegativeExponent = -10000.0 |
| A value that can be passed to exp() with result 0, also with SIMD.
|
|
constexpr double | c_largePositiveExponent = 700.0 |
| The largest acceptable positive exponent for variables that are passed to exp().
|
|
template<typename T > |
constexpr bool | is_resizable_v = is_resizable<T>::value |
| Type has a resize member function callable with size_t argument.
|
|
constexpr int | c_nbnxnGpuClusterSize = 8 |
| The i- and j-cluster size for GPU lists, 8 atoms for CUDA, set at configure time for OpenCL and SYCL.
|
|
static constexpr int | c_nbnxnGpuClusterpairSplit = 2 |
| The number of sub-parts used for data storage for a GPU cluster pair. More...
|
|
constexpr int | c_nBoxZ = 2 * gmx::c_dBoxZ + 1 |
|
constexpr int | c_nBoxY = 2 * gmx::c_dBoxY + 1 |
|
constexpr int | c_nBoxX = 2 * gmx::c_dBoxX + 1 |
|
constexpr int | c_numIvecs = detail::c_nBoxZ * detail::c_nBoxY * detail::c_nBoxX |
|
constexpr int | c_TabulatedNormalDistributionDefaultBits = 14 |
| Number of bits that determines the resolution of the lookup table for the normal distribution.
|
|
|
constexpr int | c_gpuNumClusterPerCellZ = GMX_GPU_NB_NUM_CLUSTER_PER_CELL_Z |
| The number of clusters along a direction in a pair-search grid cell for GPU lists. More...
|
|
constexpr int | c_gpuNumClusterPerCellY = GMX_GPU_NB_NUM_CLUSTER_PER_CELL_Y |
|
constexpr int | c_gpuNumClusterPerCellX = GMX_GPU_NB_NUM_CLUSTER_PER_CELL_X |
|
constexpr int gmx::detail::c_nbnxnGpuClusterpairSplit = 2 |
|
static |
The number of sub-parts used for data storage for a GPU cluster pair.
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, i.e. split in 2.
On architectures with 64-wide execution however it is better to avoid splitting (e.g. AMD GCN, CDNA and later).