Gromacs  2026.0-dev-20250318-75a6c20
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
gmx::anonymous_namespace{haloexchange.cpp} Namespace Reference

Functions

template<typename DomainPairComm , typename T >
void ddIsendDomain (const DomainPairComm &send, ArrayRef< T > sendBuffer, const HaloMpiTag tag, std::vector< MPI_Request > *mpiRequests)
 Initiates a non-blocking send to another domain. More...
 
template<typename DomainPairComm , typename T >
void ddIreceiveDomain (const DomainPairComm &receive, ArrayRef< T > receiveBuffer, const HaloMpiTag tag, std::vector< MPI_Request > *mpiRequests)
 Initiates a non-blocking receive from another domain. More...
 
template<bool commOverPbc, bool usesScrewPbc>
void packCoordinatesTemplated (const DomainCommBackward &domainComm, const matrix box, const RVec &shiftVec, ArrayRef< const RVec > x, ArrayRef< RVec > sendBuffer)
 Templated version of packCoordinateSendBuffer()
 
void mpiWaitall (ArrayRef< MPI_Request > mpiRequests, ArrayRef< MPI_Status > mpiStatuses)
 Wrapper for MPI_Waitall that takes ArrayRefs.
 
template<bool usesScrewPbc, bool haveShiftForces>
void accumulateReceivedForcesTemplated (const DomainCommBackward &domainComm, ArrayRef< RVec > forces, RVec gmx_unused *shiftForce)
 Templated version of packCoordinateSendBuffer()
 

Function Documentation

template<typename DomainPairComm , typename T >
void gmx::anonymous_namespace{haloexchange.cpp}::ddIreceiveDomain ( const DomainPairComm &  receive,
ArrayRef< T >  receiveBuffer,
const HaloMpiTag  tag,
std::vector< MPI_Request > *  mpiRequests 
)

Initiates a non-blocking receive from another domain.

Parameters
[in]receiveThe domain pair communication setup
[in]receiveBufferBuffer to receive the data in
[in]tagThe MPI tag
[in]mpiRequestsList of requests where the send will be appended to
template<typename DomainPairComm , typename T >
void gmx::anonymous_namespace{haloexchange.cpp}::ddIsendDomain ( const DomainPairComm &  send,
ArrayRef< T >  sendBuffer,
const HaloMpiTag  tag,
std::vector< MPI_Request > *  mpiRequests 
)

Initiates a non-blocking send to another domain.

Parameters
[in]sendThe domain pair communication setup
[in]sendBufferThe data to send
[in]tagThe MPI tag
[in]mpiRequestsList of requests where the send will be appended to