auto makeSolveKernel(cl::sycl::handler& cgh,
DeviceAccessor<float, mode::read> a_splineModuli,
DeviceAccessor<SolveKernelParams, mode::read> a_solveKernelParams,
auto makeSolveKernel(cl::sycl::handler& cgh,
DeviceAccessor<float, mode::read> a_splineModuli,
DeviceAccessor<SolveKernelParams, mode::read> a_solveKernelParams,
- DeviceAccessor<float, mode::read_write> a_virialAndEnergy,
- DeviceAccessor<float, mode::read_write> a_fourierGrid)
+ OptionalAccessor<float, mode::read_write, computeEnergyAndVirial> a_virialAndEnergy,
+ DeviceAccessor<float, mode::read_write> a_fourierGrid)
{
/* A tricky shuffle reduction inspired by reduce_force_j_warp_shfl.
* The idea is to reduce 7 energy/virial components into a single variable (aligned by
{
/* A tricky shuffle reduction inspired by reduce_force_j_warp_shfl.
* The idea is to reduce 7 energy/virial components into a single variable (aligned by