![]() |
Block-Structured AMR Software Framework
|
This class holds data buffers for either immediate MPI send or recv calls. More...
#include <AMReX_NonLocalBC.H>
Public Attributes | |
| TheFaArenaPointer | the_data = nullptr |
| Holds 'em all in one data pointer. | |
| Vector< int > | rank {} |
| Stores MPI ranks. For recvs it is the 'from' rank and for sends it is the 'to' rank. | |
| Vector< char * > | data {} |
| Pointers to the_data that can be used for each single data transaction. | |
| Vector< std::size_t > | offset {} |
| All offsets of data in the_data. | |
| Vector< std::size_t > | size {} |
| The size in bytes for each data transaction. | |
| Vector< MPI_Request > | request {} |
| The associated MPI_Request for each data transaction. | |
| Vector< MPI_Status > | stats {} |
| For each request the corresponding MPI_status, used for debugging. | |
| Vector< const FabArrayBase::CopyComTagsContainer * > | cctc {} |
| For each request the copy comm tags for the corresponding data FABs. | |
| Vector< int > | comm_rank {} |
| rank translated into the communicator used by Alltoall and Alltoallv. | |
| Vector< int > | counts {} |
| size and offset per rank of that communicator, as MPI_Alltoallv wants them. | |
| Vector< int > | displs {} |
| std::size_t | total_bytes = 0 |
| Size of the_data in bytes, so that it can be released and reacquired. | |
| std::uint64_t | id = std::numeric_limits<std::uint64_t>::max() |
This class holds data buffers for either immediate MPI send or recv calls.
The data buffers need to be kept alive until all MPI_Request have been completed. All member variables are resized a corresponding call to PrepareCommBuffers and the data transactions are initiated either by calls to PostRecvs or PostSends.
| Vector<const FabArrayBase::CopyComTagsContainer*> amrex::NonLocalBC::CommData::cctc {} |
For each request the copy comm tags for the corresponding data FABs.
rank translated into the communicator used by Alltoall and Alltoallv.
size and offset per rank of that communicator, as MPI_Alltoallv wants them.
| Vector<char*> amrex::NonLocalBC::CommData::data {} |
Pointers to the_data that can be used for each single data transaction.
| std::uint64_t amrex::NonLocalBC::CommData::id = std::numeric_limits<std::uint64_t>::max() |
| Vector<std::size_t> amrex::NonLocalBC::CommData::offset {} |
All offsets of data in the_data.
Stores MPI ranks. For recvs it is the 'from' rank and for sends it is the 'to' rank.
| Vector<MPI_Request> amrex::NonLocalBC::CommData::request {} |
The associated MPI_Request for each data transaction.
| Vector<std::size_t> amrex::NonLocalBC::CommData::size {} |
The size in bytes for each data transaction.
| Vector<MPI_Status> amrex::NonLocalBC::CommData::stats {} |
For each request the corresponding MPI_status, used for debugging.
| TheFaArenaPointer amrex::NonLocalBC::CommData::the_data = nullptr |
Holds 'em all in one data pointer.
| std::size_t amrex::NonLocalBC::CommData::total_bytes = 0 |
Size of the_data in bytes, so that it can be released and reacquired.