Gromacs  2026.0-dev-20251109-f20ba35
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Typedefs | Functions | Variables
gputraits_hip.h File Reference
#include <hip/hip_runtime.h>
#include "gromacs/utility/vectypes.h"
+ Include dependency graph for gputraits_hip.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares the HIP type traits.

Author
Paul Bauer paul..nosp@m.baue.nosp@m.r.q@g.nosp@m.mail.nosp@m..com

Classes

struct  DeviceFloat4
 Convenience alias for 4-wide float in shared device kernels. More...
 
struct  DeviceInt3
 Convenience alias for int3 in shared device kernels. More...
 
struct  DeviceInt4
 Convenience alias for int4 in shared device kernels. More...
 
struct  KernelLaunchConfig
 GPU kernels scheduling description. This is same in OpenCL/HIP. Provides reasonable defaults, one typically only needs to set the GPU stream and non-1 work sizes. More...
 

Macros

#define GMX_HOST_ATTRIBUTE   __host__
 
#define GMX_DEVICE_ATTRIBUTE   __device__
 
#define GMX_HOSTDEVICE_ATTRIBUTE   GMX_HOST_ATTRIBUTE GMX_DEVICE_ATTRIBUTE
 
#define GMX_DEVICE_ASSERT(condition)   assert(condition)
 

Typedefs

using DeviceTexture = hipTextureObject_t
 Device texture for fast read-only data fetching.
 
using CommandEvent = void
 Single GPU call timing event - meaningless in HIP.
 
using Float2 = float2
 Convenience alias for 2-wide float.
 
using Float3 = gmx::RVec
 Convenience alias for 3-wide float.
 
using DeviceFloat3 = float3
 Convenience alias for 3-wide float in shared device kernels.
 
using Float4 = float4
 Convenience alias for 4-wide float.
 
template<typename T >
using DeviceGlobalPtr = T *
 Convenience alias for global device memory.
 
template<typename T >
using DeviceLocalPtr = T *
 Convenience alias for local device memory.
 
template<typename T >
using DevicePrivatePtr = T *
 Convenience alias for private device memory.
 

Functions

static __device__
__forceinline__ DeviceInt4 
loadInt4 (const int *__restrict__ input, const int index)
 

Variables

static constexpr bool c_canEmbedBuffers = true
 Sets whether device code can use arrays that are embedded in structs.