Gromacs
2024.4
|
#include "gmxpre.h"
#include "gromacs/gpu_utils/gmxopencl.h"
#include "gromacs/gpu_utils/ocl_compiler.h"
#include "gromacs/utility/stringutil.h"
#include "pme_gpu_constants.h"
#include "pme_gpu_internal.h"
#include "pme_gpu_program_impl.h"
#include "pme_gpu_types_host.h"
#include "pme_grid.h"
Implements PmeGpuProgramImpl, which stores permanent PME GPU context-derived data, such as (compiled) kernel handles.
Functions | |
static void | checkRequiredWarpSize (cl_kernel kernel, const char *kernelName, const DeviceInformation &deviceInfo) |
Ensure that spread/gather kernels have been compiled to a suitable warp size. More... | |
|
static |
Ensure that spread/gather kernels have been compiled to a suitable warp size.
On Intel the exec width/warp is decided at compile-time and can be smaller than the minimum order^2 required in spread/gather ATM which we need to check for.
Due to the one thread per atom and order=4 implementation constraints, order^2 threads should execute without synchronization needed.