Gromacs  2026.0-dev-20241213-9ac17bb
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Attributes | Static Public Attributes
gmx::nvshmemHaloExchangeOps Struct Reference

#include <gromacs/domdec/gpuhaloexchange_impl_gpu.h>

Description

Struct encapsulating data for NVSHMEM Enabled GPU Halo Exchange.

Public Attributes

int putAtomOffsetInReceiverRankXBuf_ = 0
 offset of remote PP rank coord buffer used for nvshmem_put
 
DeviceBuffer< uint64_t > d_signalSenderRankX_ = nullptr
 signal object used for notifying rank which will produce/put the halo coordinates
 
DeviceBuffer< uint64_t > d_signalReceiverRankF_ = nullptr
 signal object used for notifying rank which will consume the halo forces
 
uint64_t signalReceiverRankFCounter_ = 0
 Forces communication signal counter, used to synchronize with the send-to(put)
 
DeviceBuffer< uint64_t > d_signalReceiverRankX_ = nullptr
 signal object used for notifying rank which will consume the halo coordinates
 
uint64_t signalReceiverRankXCounter_ = 0
 Coordinates communication signal counter, used to synchronize with the send-to(put)
 
uint32_t arriveWaitBarrierVal_ = 0
 value to initialize the arrive-wait barrier, this is grid size of X kernel.
 
uint32_t gridDimX_ = 0
 Grid size of X kernel.
 
int signalObjOffset_ = 0
 offset from which signal object for the given pulse/dim should be used.
 

Static Public Attributes

static const int c_nvshmemThreadsPerBlock = 256 * 4
 Thread block size for NVSHMEM based X and F kernels.
 

The documentation for this struct was generated from the following file: