Gromacs  2025-dev-20240522-e0c89b3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gpu_utils Directory Reference
+ Directory dependency graph for gpu_utils:

Directories

directory  tests
 

Files

file  clfftinitializer.cpp
 Implements ClfftInitializer class.
 
file  clfftinitializer.h
 Declares ClfftInitializer class, which initializes and tears down the clFFT library resources in OpenCL builds, and does nothing in other builds, and a factory function for it.
 
file  device_context.cpp
 Implements the DeviceContext for CPU build.
 
file  device_context.h
 Declarations for DeviceContext class.
 
file  device_context_ocl.cpp
 Implements the DeviceContext for OpenCL.
 
file  device_context_sycl.cpp
 Implements the DeviceContext for SYCL builds.
 
file  device_event.h
 Declares DeviceEvent for all build configuraitons.
 
file  device_event_hip.h
 Implements a DeviceEvent class for HIP.
 
file  device_event_ocl.h
 Implements a DeviceEvent class for OpenCL.
 
file  device_event_sycl.h
 Implements a GpuEventSynchronizer class for SYCL.
 
file  device_stream.cpp
 Implements the DeviceStream for CPU builds.
 
file  device_stream.h
 Declarations for DeviceStream class.
 
file  device_stream_hip.cpp
 Implements the DeviceStream for HIP.
 
file  device_stream_manager.cpp
 Implements GPU stream manager.
 
file  device_stream_manager.h
 This file declares a manager of GPU context and streams needed for running workloads on GPUs.
 
file  device_stream_ocl.cpp
 Implements the DeviceStream for OpenCL.
 
file  device_stream_sycl.cpp
 Implements the DeviceStream for SYCL builds.
 
file  devicebuffer.h
 Implements the logic for handling of DeviceBuffer types in OpenCL, CUDA and SYCL.
 
file  devicebuffer_datatype.h
 Declares the DeviceBuffer data type.
 
file  devicebuffer_hip.h
 Implements the DeviceBuffer type and routines for HIP. Should only be included directly by the main DeviceBuffer file devicebuffer.h. TODO: the intent is for DeviceBuffer to become a class.
 
file  devicebuffer_ocl.h
 Implements the DeviceBuffer type and routines for OpenCL. Should only be included directly by the main DeviceBuffer file devicebuffer.h. TODO: the intent is for DeviceBuffer to become a class.
 
file  devicebuffer_sycl.cpp
 Implements the DeviceBuffer type and routines for SYCL.
 
file  devicebuffer_sycl.h
 Implements the DeviceBuffer type and routines for SYCL. Should only be included directly by the main DeviceBuffer file devicebuffer.h. TODO: the intent is for DeviceBuffer to become a class.
 
file  gmxopencl.h
 Wraps the complexity of including OpenCL in Gromacs.
 
file  gmxsycl.h
 Wraps the complexity of including SYCL in GROMACS.
 
file  gpu_macros.h
 
file  gpu_utils.cpp
 Function definitions for non-GPU builds.
 
file  gpu_utils.h
 Declare functions for detection and initialization for GPU devices.
 
file  gpu_utils_hip.cpp
 Define functions for detection and initialization for HIP devices.
 
file  gpu_utils_impl.cpp
 Function stubs for build types that don't implement methods.
 
file  gpueventsynchronizer.h
 Implements a GpuEventSynchronizer class.
 
file  gpueventsynchronizer_helpers.cpp
 Helper functions for a GpuEventSynchronizer class.
 
file  gpueventsynchronizer_helpers.h
 Helper functions for a GpuEventSynchronizer class.
 
file  gpuregiontimer.h
 Defines the GPU region timer implementation/wrapper classes. The implementations live in gpuregiontimer.cuh for CUDA and gpuregiontimer_ocl.h for OpenCL.
 
file  gpuregiontimer_hip.h
 Implements the GPU region timer for HIP.
 
file  gpuregiontimer_ocl.h
 Implements the GPU region timer for OpenCL.
 
file  gpuregiontimer_sycl.h
 Implements the GPU region timer for SYCL.
 
file  gputraits.h
 Declares the GPU type traits for non-GPU builds.
 
file  gputraits_hip.h
 Declares the HIP type traits.
 
file  gputraits_ocl.h
 Declares the OpenCL type traits.
 
file  gputraits_sycl.h
 Declares the SYCL type traits.
 
file  hiputils.h
 
file  hostallocator.cpp
 Implements gmx::HostAllocationPolicy for allocating memory suitable for e.g. GPU transfers on CUDA.
 
file  hostallocator.h
 Declares gmx::HostAllocationPolicy, gmx::HostAllocator, gmx::HostVector and gmx::PaddedHostVector, which are used to make/be standard library containers that can allocate memory suitable for transfers. Currently the only supported transfers using pinned memory are to CUDA GPUs, but other possibilities exist in future.
 
file  nvshmem_utils.cpp
 Definitions for NVSHMEM initialization/finalize class. gmxNvshmemHandle takes the MPI communicator and initializes the NVSHMEM over all the ranks involved in the given MPI communicator. This is a collective call for all the ranks in the given MPI comm. After NVSHMEM initialization all NVSHMEM APIs can be safely used.
 
file  nvshmem_utils.h
 Declarations for NVSHMEM initialization/finalize class. gmxNvshmemHandle takes the MPI communicator and initializes the NVSHMEM over all the ranks involved in the given MPI communicator. This is a collective call for all the ranks in the given MPI comm. After NVSHMEM initialization all NVSHMEM APIs can be safely used.
 
file  ocl_caching.cpp
 Define infrastructure for OpenCL JIT compilation for Gromacs.
 
file  ocl_caching.h
 Declare infrastructure for managing caching of OpenCL JIT-ted binaries.
 
file  ocl_compiler.cpp
 Define infrastructure for OpenCL JIT compilation for Gromacs.
 
file  ocl_compiler.h
 Declare infrastructure for OpenCL JIT compilation.
 
file  oclraii.h
 Declare RAII helpers for OpenCL types, along with supporting type traits.
 
file  oclutils.cpp
 Define utility routines for OpenCL.
 
file  oclutils.h
 Declare utility routines for OpenCL.
 
file  packed_float.h
 Packed (Fast) float3 implementation for AMD targets.
 
file  pmalloc.cpp
 Define functions for host-side memory handling when using OpenCL devices or no GPU device.
 
file  pmalloc.h
 Declare functions for host-side memory handling.
 
file  pmalloc_hip.cpp
 Define functions for host-side memory handling when using AMD with HIP devices.
 
file  pmalloc_sycl.cpp
 Pinned memory allocation routines for SYCL.
 
file  sycl_kernel_utils.h
 SYCL kernel helper functions.
 
file  syclutils.h
 Declare utility routines for SYCL.
 
file  typecasts_cuda_hip.h
 Declare functions to be used to cast CPU types to compatible GPU types.