Gromacs
2025-dev-20241003-bd59e46
|
Declares the SYCL type traits.
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 | c_canEmbedBuffers true |
Sets whether device code can use arrays that are embedded in structs. More... | |
Typedefs | |
using | DeviceTexture = void * |
Type of device texture object. In SYCL, that would be sycl::image , but it's not used. | |
using | CommandEvent = void * |
Single GPU call timing event, not used with SYCL. | |
using | Float4 = sycl::float4 |
Convenience alias. | |
using | Float3 = gmx::RVec |
Convenience alias. Not using sycl::float3 due to alignment issues. | |
using | Float2 = sycl::float2 |
Convenience alias for sycl::float2. | |
#define c_canEmbedBuffers true |
Sets whether device code can use arrays that are embedded in structs.
That is not technically true for SYCL, since DeviceBuffer holds not only the memory pointer, but also the context.
But our prepareGpuKernelArguments
and launchGpuKernel
functions deal with that, so we can pass embedded buffers to them, which is what this constant actually controls.