Gromacs  2026.0-dev-20250613-1722f12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Typedefs | Variables
gputraits_ocl.h File Reference
#include "gromacs/gpu_utils/gmxopencl.h"
#include "gromacs/math/vectypes.h"
+ Include dependency graph for gputraits_ocl.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares the OpenCL type traits.

Author
Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
Artem Zhmurov zhmur.nosp@m.ov@g.nosp@m.mail..nosp@m.com

Classes

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
 
#define GMX_DEVICE_ATTRIBUTE
 
#define GMX_HOSTDEVICE_ATTRIBUTE   GMX_HOST_ATTRIBUTE GMX_DEVICE_ATTRIBUTE
 
#define GMX_DEVICE_ASSERT(condition)   assert(condition)
 

Typedefs

using DeviceTexture = void *
 
using CommandEvent = cl_event
 Single GPU call timing event.
 
using Float2 = cl_float2
 Convenience alias for 2-wide float.
 
using Float3 = gmx::RVec
 Convenience alias for 3-wide float. Not using cl_float3 due to alignment issues.
 
using Float4 = cl_float4
 Convenience alias for 4-wide float.
 

Variables

static constexpr bool c_canEmbedBuffers = false
 Sets whether device code can use arrays that are embedded in structs. Note that OpenCL 2.x might be able to do this, but we use 1.2.