Gromacs  2025-dev-20240906-b7d3419
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Static Public Member Functions
GridConverter< pmeToFft > Class Template Reference

Description

template<bool pmeToFft>
class GridConverter< pmeToFft >

Builds a kernel to convert between PME and FFT grids.

Template Parameters
pmeToFftA boolean which tells if this is conversion from PME grid to FFT grid or reverse

Static Public Member Functions

template<int subGroupSize>
static auto convertKernel (sycl::uint3 fftNData, float *__restrict__ d_realGrid, float *__restrict__ d_fftGrid, sycl::uint3 fftSize, sycl::uint3 pmeSize)
 Returns the conversion kernel. More...
 
template<int subGroupSize, class... Args>
static void submit (const DeviceStream &deviceStream, sycl::uint3 localFftNData, Args &&...args)
 Submits kernel. More...
 

Member Function Documentation

template<bool pmeToFft>
template<int subGroupSize>
static auto GridConverter< pmeToFft >::convertKernel ( sycl::uint3  fftNData,
float *__restrict__  d_realGrid,
float *__restrict__  d_fftGrid,
sycl::uint3  fftSize,
sycl::uint3  pmeSize 
)
inlinestatic

Returns the conversion kernel.

Parameters
[in]fftNDataLocal FFT grid size without padding
[in,out]d_realGridLocal PME grid
[in,out]d_fftGridLocal FFT grid
[in]fftSizeLocal FFT grid padded size
[in]pmeSizeLocal PME grid padded size
Template Parameters
subGroupSizeSize of the sub-group.
template<bool pmeToFft>
template<int subGroupSize, class... Args>
static void GridConverter< pmeToFft >::submit ( const DeviceStream deviceStream,
sycl::uint3  localFftNData,
Args &&...  args 
)
inlinestatic

Submits kernel.

Parameters
[in]deviceStreamThe device stream upon which to submit
[in]localFftNDataLocal FFT grid size without padding
[in]argsParameter pack to pass to the kernel builder
Template Parameters
subGroupSizeSize of the sub-group.

The documentation for this class was generated from the following file: