Gromacs  2026.0-dev-20241121-c76fa1e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs
pme_gpu_types_host.h File Reference
#include "config.h"
#include <memory>
#include <vector>
#include "gromacs/ewald/pme.h"
#include "gromacs/ewald/pme_gpu_program.h"
#include "gromacs/gpu_utils/clfftinitializer.h"
#include "gromacs/gpu_utils/hostallocator.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/gmxmpi.h"
#include "pme_force_sender_gpu.h"
#include "pme_gpu_settings.h"
#include "pme_gpu_staging.h"
+ Include dependency graph for pme_gpu_types_host.h:
+ This graph shows which files directly or indirectly include this file:

Description

Defines the host-side PME GPU data structures.

Todo:
Some renaming/refactoring, which does not impair the performance: – bringing the function names up to guidelines – PmeGpuSettings -> PmeGpuTasks – refining GPU notation application (#2053) – renaming coefficients to charges (?)
Author
Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m

Classes

struct  PpRanksSendFInfo
 Contains information about the PP ranks that partners this PME rank. used in the pme gather kernel for nvshmem purpose. More...
 
struct  PmeShared
 The PME GPU structure for all the data copied directly from the CPU PME structure. The copying is done when the CPU PME structure is already (re-)initialized (pme_gpu_reinit is called at the end of gmx_pme_init). All the variables here are named almost the same way as in gmx_pme_t. The types are different: pointers are replaced by vectors. TODO: use the shared data with the PME CPU. Included in the main PME GPU structure by value. More...
 
struct  PmeGpu
 The main PME GPU host structure, included in the PME CPU structure by pointer. More...
 

Typedefs

typedef int PmeGpuSpecific
 A dummy typedef for the GPU host data placeholder on non-GPU builds.
 
typedef int PmeGpuHaloExchange
 
typedef int PmeGpuKernelParams
 A dummy typedef for the GPU kernel arguments data placeholder on non-GPU builds.