Implements PmeGpuProgramImpl, which stores permanent PME GPU context-derived data, such as (compiled) kernel handles.
- Author
- Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
-
Andrey Alekseenko al42a.nosp@m.nd@g.nosp@m.mail..nosp@m.com
|
#define | INSTANTIATE_SPREAD_2(order, computeSplines, spreadCharges, numGrids, writeGlobal, threadsPerAtom, subGroupSize) extern template class PmeSplineAndSpreadKernel<order, computeSplines, spreadCharges, true, true, numGrids, writeGlobal, threadsPerAtom, subGroupSize>; |
|
#define | INSTANTIATE_SPREAD(order, numGrids, threadsPerAtom, subGroupSize) |
|
#define | INSTANTIATE_GATHER_2(order, numGrids, readGlobal, threadsPerAtom, subGroupSize) extern template class PmeGatherKernel<order, true, true, numGrids, readGlobal, threadsPerAtom, subGroupSize>; |
|
#define | INSTANTIATE_GATHER(order, numGrids, threadsPerAtom, subGroupSize) |
|
#define | INSTANTIATE_X(x, order, subGroupSize) |
|
#define | INSTANTIATE(order, subGroupSize) |
|
|
constexpr int | c_pmeOrder = 4 |
|
constexpr bool | c_wrapX = true |
|
constexpr bool | c_wrapY = true |
|
#define INSTANTIATE |
( |
|
order, |
|
|
|
subGroupSize |
|
) |
| |
Value:INSTANTIATE_X(SPREAD, order, subGroupSize); \
INSTANTIATE_X(GATHER, order, subGroupSize);
#define INSTANTIATE_GATHER |
( |
|
order, |
|
|
|
numGrids, |
|
|
|
threadsPerAtom, |
|
|
|
subGroupSize |
|
) |
| |
Value:INSTANTIATE_GATHER_2(order,
numGrids,
true, threadsPerAtom, subGroupSize); \
INSTANTIATE_GATHER_2(order,
numGrids,
false, threadsPerAtom, subGroupSize);
static int numGrids(const GridSet::DomainSetup &domainSetup)
Returns the number of search grids.
Definition: gridset.cpp:58
#define INSTANTIATE_SPREAD |
( |
|
order, |
|
|
|
numGrids, |
|
|
|
threadsPerAtom, |
|
|
|
subGroupSize |
|
) |
| |
Value:INSTANTIATE_SPREAD_2(order,
true,
true,
numGrids,
true, threadsPerAtom, subGroupSize); \
INSTANTIATE_SPREAD_2(order,
true,
false,
numGrids,
true, threadsPerAtom, subGroupSize); \
INSTANTIATE_SPREAD_2(order,
false,
true,
numGrids,
true, threadsPerAtom, subGroupSize); \
INSTANTIATE_SPREAD_2(order,
true,
true,
numGrids,
false, threadsPerAtom, subGroupSize);
static int numGrids(const GridSet::DomainSetup &domainSetup)
Returns the number of search grids.
Definition: gridset.cpp:58
#define INSTANTIATE_X |
( |
|
x, |
|
|
|
order, |
|
|
|
subGroupSize |
|
) |
| |
Value:
Use a number of threads equal to the PME order (ie. 4)
Use a number of threads equal to the square of the PME order (ie. 16)