Gromacs
2022-beta1
|
#include <gromacs/ewald/pme_coordinate_receiver_gpu_impl.h>
Class with interfaces and data for CUDA version of PME coordinate receiving functionality.
Impl class stub.
Public Member Functions | |
Impl (const DeviceStream &pmeStream, MPI_Comm comm, gmx::ArrayRef< PpRanks > ppRanks) | |
Creates PME GPU coordinate receiver object. More... | |
void | sendCoordinateBufferAddressToPpRanks (DeviceBuffer< RVec > d_x) |
send coordinates buffer address to PP rank More... | |
void | receiveCoordinatesSynchronizerFromPpCudaDirect (int ppRank) |
Receive coordinate synchronizer pointer from the PP ranks. More... | |
void | launchReceiveCoordinatesFromPpCudaMpi (DeviceBuffer< RVec > recvbuf, int numAtoms, int numBytes, int ppRank) |
Used for lib MPI, receives co-ordinates from PP ranks. More... | |
void | synchronizeOnCoordinatesFromPpRanks () |
For lib MPI, wait for coordinates from PP ranks For thread MPI, enqueue PP co-ordinate transfer event into PME stream. | |
gmx::PmeCoordinateReceiverGpu::Impl::Impl | ( | const DeviceStream & | pmeStream, |
MPI_Comm | comm, | ||
gmx::ArrayRef< PpRanks > | ppRanks | ||
) |
Creates PME GPU coordinate receiver object.
[in] | pmeStream | CUDA stream used for PME computations |
[in] | comm | Communicator used for simulation |
[in] | ppRanks | List of PP ranks |
void gmx::PmeCoordinateReceiverGpu::Impl::launchReceiveCoordinatesFromPpCudaMpi | ( | DeviceBuffer< RVec > | recvbuf, |
int | numAtoms, | ||
int | numBytes, | ||
int | ppRank | ||
) |
Used for lib MPI, receives co-ordinates from PP ranks.
[in] | recvbuf | coordinates buffer in GPU memory |
[in] | numAtoms | starting element in buffer |
[in] | numBytes | number of bytes to transfer |
[in] | ppRank | PP rank to send data |
void gmx::PmeCoordinateReceiverGpu::Impl::receiveCoordinatesSynchronizerFromPpCudaDirect | ( | int | ppRank | ) |
Receive coordinate synchronizer pointer from the PP ranks.
[in] | ppRank | PP rank to receive the synchronizer from. |
void gmx::PmeCoordinateReceiverGpu::Impl::sendCoordinateBufferAddressToPpRanks | ( | DeviceBuffer< RVec > | d_x | ) |
send coordinates buffer address to PP rank
[in] | d_x | coordinates buffer in GPU memory |