Gromacs
2024.4
|
#include "gromacs/gpu_utils/sycl_kernel_utils.h"
#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/nbnxm/pairlistparams.h"
Helper functions and constants for SYCL NBNXM kernels.
Macros | |
#define | GMX_NBNXN_PRUNE_KERNEL_JPACKED_CONCURRENCY 4 |
Default for the prune kernel's jPacked processing concurrency. | |
#define | UNIFORM_LOAD_CLUSTER_PAIR_DATA(x) (x) |
Explicit uniform load across the warp. More... | |
Variables | |
static constexpr int | Nbnxm::c_syclPruneKernelJPackedConcurrency = 4 |
Prune kernel's jPacked processing concurrency. More... | |
#define UNIFORM_LOAD_CLUSTER_PAIR_DATA | ( | x | ) | (x) |
Explicit uniform load across the warp.
Uses the readfirstlane intrinsic to ensure that uniform loads use scalar registers and subsequent operations on the results generate scalar instructions.
Note that some ROCm versions' compilers can figure out that the nbnxm exclusion indices and imasks are uniform and generate the right instructions, but others (like 4.5 and 5.0.2) do not.