Gromacs  2025.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions | Variables
nbnxm_hip_data_mgmt.cpp File Reference
#include "gmxpre.h"
#include <rocprim/rocprim.hpp>
#include "nbnxm_hip_types.h"
#include "gromacs/gpu_utils/device_context.h"
#include "gromacs/gpu_utils/pmalloc.h"
#include "gromacs/hardware/device_information.h"
#include "gromacs/hardware/device_management.h"
#include "gromacs/nbnxm/atomdata.h"
#include "gromacs/nbnxm/gpu_data_mgmt.h"
#include "gromacs/nbnxm/nbnxm.h"
#include "gromacs/nbnxm/nbnxm_gpu_data_mgmt.h"
+ Include dependency graph for nbnxm_hip_data_mgmt.cpp:

Description

Define HIP implementation for GPU data transfer for NBNXM module.

Author
Szilard Pall pall..nosp@m.szil.nosp@m.ard@g.nosp@m.mail.nosp@m..com
Paul Bauer paul..nosp@m.baue.nosp@m.r.q@g.nosp@m.mail.nosp@m..com

Functions

void gmx::gpu_init_platform_specific (NbnxmGpu *nb)
 Initializes the NBNXM GPU data structures.
 
void gmx::gpu_free_platform_specific (NbnxmGpu *nb)
 Releases the NBNXM GPU data structures. More...
 
int gmx::gpu_min_ci_balanced (NbnxmGpu *nb)
 This function is documented in the header file.
 
size_t gmx::anonymous_namespace{nbnxm_hip_data_mgmt.cpp}::hipRocprimWrapper (size_t temporaryBufferSize, char *temporaryBuffer, gmx::GpuPairlist *plist, const DeviceStream &deviceStream)
 
size_t gmx::getExclusiveScanWorkingArraySize (GpuPairlist *plist, const DeviceStream &deviceStream)
 Calculates working memory required for exclusive sum, used in neighbour list sorting on GPU. More...
 
void gmx::performExclusiveScan (size_t temporaryBufferSize, char *temporaryBuffer, GpuPairlist *plist, const DeviceStream &deviceStream)
 Perform exclusive scan to obtain input for sci sorting.
 

Variables

static const unsigned int gmx::gpu_min_ci_balanced_factor = 44