#include <cstddef>
#include "gromacs/gpu_utils/gmxsycl.h"
#include "gromacs/math/vectypes.h"
Declares the SYCL type traits.
- Author
- Andrey Alekseenko al42a.nosp@m.nd@g.nosp@m.mail..nosp@m.com
|
struct | KernelLaunchConfig |
| GPU kernels scheduling description. This is same in OpenCL/CUDA. Provides reasonable defaults, one typically only needs to set the GPU stream and non-1 work sizes. More...
|
|
|
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: the device code needs dedicated sycl::buffer/accessor
objects. But our prepareGpuKernelArguments
and launchGpuKernel
functions deal with that, so we can pass embedded buffers to them, which is what this constant actually controls.