Gromacs  2024.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
broadcaststructs.h File Reference
#include <vector>
#include "gromacs/gmxlib/network.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/utility/smalloc.h"
+ Include dependency graph for broadcaststructs.h:

Description

Convenience wrappers for broadcasting structs.

Author
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Classes

class  gmx::ArrayRef< typename >
 STL-like interface to a C array of T (or part of a std container of T). More...
 

Functions

template<typename T >
void block_bc (MPI_Comm communicator, T &data)
 Convenience wrapper for gmx_bcast to communicator of a single value.
 
template<typename T >
void nblock_bc (MPI_Comm communicator, std::size_t numElements, T *data)
 Convenience wrapper for gmx_bcast to communicator of a C-style array.
 
template<typename T >
void nblock_bc (MPI_Comm communicator, gmx::ArrayRef< T > data)
 Convenience wrapper for gmx_bcast to communicator of an ArrayRef<T>
 
template<typename T >
void snew_bc (bool isMainRank, T *&data, std::size_t numElements)
 Convenience wrapper for allocation with snew of vectors that need allocation on non-main ranks.
 
template<typename T >
void nblock_abc (bool isMainRank, MPI_Comm communicator, std::size_t numElements, T **v)
 Convenience wrapper for gmx_bcast of a C-style array which needs allocation on non-main ranks.
 
template<typename T >
void nblock_abc (bool isMainRank, MPI_Comm communicator, std::size_t numElements, std::vector< T > *v)
 Convenience wrapper for gmx_bcast of a std::vector which needs resizing on non-main ranks.
 
void broadcastStateWithoutDynamics (MPI_Comm communicator, bool useDomainDecomposition, bool isParallelRun, t_state *state)
 Broadcasts the, non-dynamic, state from the main to all ranks in cr->mpi_comm_mygroup.
 
void init_parallel (MPI_Comm communicator, bool isMainRank, t_inputrec *inputrec, gmx_mtop_t *mtop, PartialDeserializedTprFile *partialDeserializedTpr)
 Broadcast inputrec and mtop and allocate node-specific settings.