Gromacs
2019-rc1
|
#include <gromacs/ewald/pme-gpu-types-host.h>
The main PME GPU host structure, included in the PME CPU structure by pointer.
Public Attributes | |
std::shared_ptr< PmeShared > | common |
The information copied once per reinit from the CPU structure. | |
PmeGpuProgramHandle | programHandle_ |
A handle to the program created by buildPmeGpuProgram() | |
PmeGpuSettings | settings |
The settings. | |
PmeGpuStaging | staging |
The host-side buffers. The device-side buffers are buried in kernelParams, but that will have to change. | |
int | nAtomsPadded |
Number of local atoms, padded to be divisible by c_pmeAtomDataAlignment. Used for kernel scheduling. kernelParams.atoms.nAtoms is the actual atom count to be used for data copying. TODO: this and the next member represent a memory allocation/padding properties - what a container type should do ideally. | |
int | nAtomsAlloc |
Number of local atoms, padded to be divisible by c_pmeAtomDataAlignment if c_usePadding is true. Used only as a basic size for almost all the atom data allocations (spline parameter data is also aligned by PME_SPREADGATHER_PARTICLES_PER_WARP). This should be the same as (c_usePadding ? nAtomsPadded : kernelParams.atoms.nAtoms). kernelParams.atoms.nAtoms is the actual atom count to be used for most data copying. | |
const gmx_device_info_t * | deviceInfo |
A pointer to the device used during the execution. | |
std::intmax_t | maxGridWidthX |
Kernel scheduling grid width limit in X - derived from deviceinfo compute capability in CUDA. Declared as very large int to make it useful in computations with type promotion, to avoid overflows. OpenCL seems to not have readily available global work size limit, so we just assign a large arbitrary constant to this instead. TODO: this should be in PmeGpuProgram(Impl) | |
std::shared_ptr < PmeGpuKernelParams > | kernelParams |
A single structure encompassing all the PME data used on GPU. Its value is the only argument to all the PME GPU kernels. More... | |
std::shared_ptr< PmeGpuSpecific > | archSpecific |
The pointer to GPU-framework specific host-side data, such as CUDA streams and events. | |
std::shared_ptr<PmeGpuKernelParams> PmeGpu::kernelParams |
A single structure encompassing all the PME data used on GPU. Its value is the only argument to all the PME GPU kernels.