|
Gromacs
2025.3
|
#include <gromacs/ewald/pme_force_sender_gpu.h>
Manages sending forces from PME-only ranks to their PP ranks.
Classes | |
| class | Impl |
| Impl class stub. More... | |
Public Member Functions | |
| PmeForceSenderGpu (GpuEventSynchronizer *pmeForcesReady, MPI_Comm comm, const DeviceContext &deviceContext, gmx::ArrayRef< PpRanks > ppRanks) | |
| Creates PME GPU Force sender object. More... | |
| void | setForceSendBuffer (DeviceBuffer< RVec > d_f) |
| Sets location of force to be sent to each PP rank. More... | |
| void | sendFToPpPeerToPeer (int ppRank, int numAtoms, bool sendForcesDirectToPpGpu) |
| Send force to PP rank (used with Thread-MPI) More... | |
| void | sendFToPpGpuAwareMpi (DeviceBuffer< RVec > sendbuf, int offset, int numBytes, int ppRank, MPI_Request *request) |
| Send force to PP rank (used with Lib-MPI) More... | |
| void | waitForEvents () |
| gmx::PmeForceSenderGpu::PmeForceSenderGpu | ( | GpuEventSynchronizer * | pmeForcesReady, |
| MPI_Comm | comm, | ||
| const DeviceContext & | deviceContext, | ||
| gmx::ArrayRef< PpRanks > | ppRanks | ||
| ) |
Creates PME GPU Force sender object.
Constructor stub.
| [in] | pmeForcesReady | Event synchronizer marked when PME forces are ready on the GPU |
| [in] | comm | Communicator used for simulation |
| [in] | deviceContext | GPU context |
| [in] | ppRanks | List of PP ranks |
| void gmx::PmeForceSenderGpu::sendFToPpGpuAwareMpi | ( | DeviceBuffer< RVec > | sendbuf, |
| int | offset, | ||
| int | numBytes, | ||
| int | ppRank, | ||
| MPI_Request * | request | ||
| ) |
Send force to PP rank (used with Lib-MPI)
| [in] | sendbuf | force buffer in GPU memory |
| [in] | offset | starting element in buffer |
| [in] | numBytes | number of bytes to transfer |
| [in] | ppRank | PP rank to receive data |
| [in] | request | MPI request to track asynchronous MPI call status |
| void gmx::PmeForceSenderGpu::sendFToPpPeerToPeer | ( | int | ppRank, |
| int | numAtoms, | ||
| bool | sendForcesDirectToPpGpu | ||
| ) |
Send force to PP rank (used with Thread-MPI)
| [in] | ppRank | PP rank to receive data |
| [in] | numAtoms | number of atoms to send |
| [in] | sendForcesDirectToPpGpu | whether forces are transferred direct to remote GPU memory |
| void gmx::PmeForceSenderGpu::setForceSendBuffer | ( | DeviceBuffer< RVec > | d_f | ) |
Sets location of force to be sent to each PP rank.
init PME-PP GPU communication stub
| [in] | d_f | force buffer in GPU memory |
1.8.5