MADNESS 0.10.1
|
Archive allowing buffering, deserialization of data, and point-to-point communication between processes with MPI. More...
#include <mpi_archive.h>
Public Member Functions | |
MPIInputArchive (World &world, const ProcessID &src, int tag=SafeMPI::MPIAR_TAG) | |
Construct an archive for receiving data via MPI. | |
template<class T > | |
std::enable_if< is_trivially_serializable< T >::value, void >::type | load (T *t, long n) const |
Deserialize data and store it in the buffer. | |
Public Member Functions inherited from madness::archive::BaseArchive | |
BaseArchive () | |
Private Attributes | |
ProcessID | src |
The source process. | |
int | tag |
MPI communication tag. | |
std::vector< unsigned char > | v |
The buffer. | |
madness::archive::VectorInputArchive | var |
Archive for loading the buffer. | |
World * | world |
The world. | |
Additional Inherited Members | |
Public Types inherited from madness::archive::BaseInputArchive | |
using | is_loading = std::true_type |
Type used by Boost.Serialization to determine if this object is an input archive. | |
Public Types inherited from madness::archive::BaseArchive | |
using | is_loading = std::false_type |
Type used by Boost.Serialization to determine if this object is an input archive. | |
using | is_saving = std::false_type |
Type used by Boost.Serialization to determine if this object is an output archive. | |
Static Public Attributes inherited from madness::archive::BaseInputArchive | |
static constexpr bool | is_input_archive = true |
Flag to determine if this object is an input archive. | |
Static Public Attributes inherited from madness::archive::BaseArchive | |
static constexpr bool | is_archive = true |
Flag to determine if this object is an archive. | |
static constexpr bool | is_input_archive = false |
Flag to determine if this object is an input archive. | |
static constexpr bool | is_output_archive = false |
Flag to determine if this object is an output archive. | |
static constexpr bool | is_parallel_archive = false |
Flag to determine if this object is a parallel archive. | |
Archive allowing buffering, deserialization of data, and point-to-point communication between processes with MPI.
|
inline |
Construct an archive for receiving data via MPI.
[in] | world | The world. |
[in] | src | The source process. |
[in] | tag | MPI communication tag. |
|
inline |
Deserialize data and store it in the buffer.
The function only appears (due to enable_if
) if T
is fundamental.
T | The data type to be deserialized. |
[out] | t | Pointer to the data. |
[in] | n | Number of data items to serialize. |
References madness::archive::VectorInputArchive::load(), m, madness::World::mpi, madness::archive::VectorInputArchive::nbyte_avail(), madness::WorldMpiInterface::Recv(), madness::archive::VectorInputArchive::rewind(), src, tag, v, var, and world.
|
private |
MPI communication tag.
Referenced by load().
|
mutableprivate |
The buffer.
Referenced by load().
|
private |
Archive for loading the buffer.
Referenced by load().