Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Typedefs | Functions
pme_solve_sycl.cpp File Reference
#include "gmxpre.h"
#include "pme_solve_sycl.h"
#include <cassert>
#include "gromacs/gpu_utils/gmxsycl.h"
#include "gromacs/gpu_utils/sycl_kernel_utils.h"
#include "gromacs/math/units.h"
#include "pme_gpu_constants.h"
+ Include dependency graph for pme_solve_sycl.cpp:

Description

Implements PME GPU Fourier grid solving in SYCL.

Author
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Macros

#define INSTANTIATE(subGroupSize)
 Kernel class instantiations. More...
 

Typedefs

using mode = sycl::access_mode
 

Functions

template<GridOrdering gridOrdering, bool computeEnergyAndVirial, int subGroupSize>
auto makeSolveKernel (sycl::handler &cgh, const float *__restrict__ gm_splineModuli, SolveKernelParams solveKernelParams, float *__restrict__ gm_virialAndEnergy, float *__restrict__ gm_fourierGrid_)
 PME complex grid solver kernel function. More...
 

Macro Definition Documentation

#define INSTANTIATE (   subGroupSize)

Function Documentation

template<GridOrdering gridOrdering, bool computeEnergyAndVirial, int subGroupSize>
auto makeSolveKernel ( sycl::handler &  cgh,
const float *__restrict__  gm_splineModuli,
SolveKernelParams  solveKernelParams,
float *__restrict__  gm_virialAndEnergy,
float *__restrict__  gm_fourierGrid_ 
)

PME complex grid solver kernel function.

Template Parameters
gridOrderingSpecifies the dimension ordering of the complex grid.
computeEnergyAndVirialTells if the reciprocal energy and virial should be computed.
subGroupSizeDescribes the width of a SYCL subgroup