|
Gromacs
2026.0-dev-20251119-5f0a571d
|
#include "config.h"#include "gromacs/simd/simd.h"#include "gromacs/utility/real.h"#include "gromacs/utility/vectypes.h"#include "pairlist.h"#include "pairlistparams.h"
Include dependency graph for nbnxm_simd.h:
This graph shows which files directly or indirectly include this file:Defines constants used to know which nbNxM kernel flavours (4xM or 2xMM) can be supported by the SIMD layer in use.
Macros | |
| #define | GMX_HAVE_NBNXM_SIMD_2XMM 0 |
| The nbnxn SIMD 4xN and 2x(N+N) kernels can be added independently. Currently the 2xNN SIMD kernels only make sense with: 8-way SIMD: 4x4 setup, performance wise only useful on CPUs without FMA or on AMD Zen1 16-way SIMD: 4x8 setup, used in single precision with 512 bit wide SIMD. | |
| #define | GMX_HAVE_NBNXM_SIMD_4XM 0 |
Enumerations | |
| enum | KernelLayout { KernelLayout::r4xM, KernelLayout::r2xMM } |
| The types of nbNxM SIMD kernel layout. More... | |
| enum | KernelLayoutClusterRatio { KernelLayoutClusterRatio::JSizeEqualsISize, KernelLayoutClusterRatio::JSizeIsDoubleISize, KernelLayoutClusterRatio::JSizeIsHalfISize } |
| List of supported ratios for j-cluster size versus i-cluster sizes. More... | |
Functions | |
| static constexpr int | sc_iClusterSize (const KernelLayout kernelLayout) |
| The NBNxM i-cluster size in atoms for the given NBNxM kernel layout. | |
Variables | |
| static constexpr bool | sc_haveNbnxmSimd2xmmKernels = 0 |
| Whether we have support for NBNxM 2xM kernels. | |
| static constexpr bool | sc_haveNbnxmSimd4xmKernels = 0 |
| Whether we have support for NBNxM 4xM kernels. | |
|
strong |
|
strong |
1.8.5