Gromacs  2026.0-dev-20250426-e14c3d8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions | Variables
nbnxm_sycl_kernel_utils.h File Reference
#include "gromacs/gpu_utils/sycl_kernel_utils.h"
#include "gromacs/nbnxm/gpu_types_common.h"
#include "gromacs/nbnxm/pairlist.h"
#include "gromacs/nbnxm/pairlistparams.h"
+ Include dependency graph for nbnxm_sycl_kernel_utils.h:
+ This graph shows which files directly or indirectly include this file:

Description

Helper functions and constants for SYCL NBNXM kernels.

Macros

#define UNIFORM_LOAD_CLUSTER_PAIR_DATA(x)   (x)
 Explicit uniform load across the warp. More...
 

Functions

static constexpr unsigned gmx::sc_superClInteractionMask (const PairlistType layoutType)
 

Variables

static constexpr int gmx::c_syclPruneKernelJPackedConcurrency = c_pruneKernelJPackedConcurrency
 Prune kernel's jPacked processing concurrency. More...
 

Macro Definition Documentation

#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.