Implements PME GPU Fourier grid solving in HIP.
- Author
- Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
|
| template<GridOrdering gridOrdering, bool computeEnergyAndVirial, const int gridIndex, int parallelExecutionWidth> |
| | __attribute__ ((amdgpu_flat_work_group_size(sc_solveMaxThreadsPerBlock< parallelExecutionWidth >, sc_solveMaxThreadsPerBlock< parallelExecutionWidth >))) __global__ void pmeSolveKernel(const struct PmeGpuKernelParams kernelParams) |
| | PME complex grid solver kernel function. More...
|
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::XYZ, false, 0, 32 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::XYZ, true, 0, 32 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::YZX, false, 0, 32 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::YZX, true, 0, 32 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::XYZ, false, 1, 32 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::XYZ, true, 1, 32 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::YZX, false, 1, 32 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::YZX, true, 1, 32 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::XYZ, false, 0, 64 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::XYZ, true, 0, 64 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::YZX, false, 0, 64 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::YZX, true, 0, 64 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::XYZ, false, 1, 64 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::XYZ, true, 1, 64 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::YZX, false, 1, 64 > (PmeGpuKernelParams kernelParams) |
| |
|
template __global__ void | pmeSolveKernel< GridOrdering::YZX, true, 1, 64 > (PmeGpuKernelParams kernelParams) |
| |
template<GridOrdering gridOrdering, bool computeEnergyAndVirial, const int gridIndex, int parallelExecutionWidth>
| __attribute__ |
( |
(amdgpu_flat_work_group_size(sc_solveMaxThreadsPerBlock< parallelExecutionWidth >,sc_solveMaxThreadsPerBlock< parallelExecutionWidth >)) |
| ) |
const |
PME complex grid solver kernel function.
- Template Parameters
-
| gridOrdering | Specifies the dimension ordering of the complex grid. |
| computeEnergyAndVirial | Tells if the reciprocal energy and virial should be computed. |
| gridIndex | The index of the grid to use in the kernel. |
| parallelExecutionWidth | The device parallel execution size to use |
param[in] kernelParams Input PME HIP data in constant memory.