|
Gromacs
2026.0-dev-20251119-5f0a571d
|
Collaboration diagram for gmx_pme_pp:Main PP-PME communication data structure.
Public Member Functions | |
| gmx_pme_pp (MPI_Comm simulationCommunicator, std::vector< PpRanks > &&ppRanks) | |
Public Attributes | |
| MPI_Comm | mpi_comm_mysim |
| MPI communicator for this simulation. | |
| std::vector< PpRanks > | ppRanks |
| The PP partner ranks. | |
| int | peerRankId |
| The peer PP rank id (the last one) | |
| gmx::HostVector< gmx::RVec > | x |
| Vector of atom coordinates to transfer to PME ranks. | |
| std::vector< gmx::RVec > | f |
| Vector of atom forces received from PME ranks. | |
|
std::unique_ptr < gmx::PmeCoordinateReceiverGpu > | pmeCoordinateReceiverGpu |
| object for receiving coordinates using communications operating on GPU memory space | |
|
std::unique_ptr < gmx::PmeForceSenderGpu > | pmeForceSenderGpu |
| object for sending PME force using communications operating on GPU memory space | |
| bool | useGpuPmePpCommunication = false |
| whether GPU direct communications are generally active for bi-directional PME-PP transfers | |
| bool | sendForcesDirectToPpGpu = false |
| whether GPU direct communications should send forces directly to remote GPU memory | |
| bool | useMdGpuGraph = false |
| Whether a GPU graph should be used to execute steps in the MD loop if run conditions allow. | |
| bool | useNvshmem = false |
| Whether a NVSHMEM should be used for GPU communication if run conditions allow. | |
| bool | useGpuHaloExchange = false |
| Whether GPU halo exchange is in use. More... | |
| gmx::PaddedHostVector< real > | chargeA |
| < Vectors of A- and B-state parameters used to transfer vectors to PME ranks | |
| gmx::PaddedHostVector< real > | chargeB |
| std::vector< real > | sqrt_c6A |
| std::vector< real > | sqrt_c6B |
| std::vector< real > | sigmaA |
| std::vector< real > | sigmaB |
| std::vector< MPI_Request > | req |
| < Vectors of MPI objects used in non-blocking communication between multiple PP ranks per PME rank | |
| std::vector< MPI_Status > | stat |
| bool gmx_pme_pp::useGpuHaloExchange = false |
Whether GPU halo exchange is in use.
Together with NVSHMEM support, this requires otherwise unnecessary communication and symmetric allocations
1.8.5