Block-Structured AMR Software Framework
amrex::NonLocalBC::CommData Struct Reference

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. More...
 
Vector< intrank {}
 Stores MPI ranks. For recvs it is the 'from' rank and for sends it is the 'to' rank. More...
 
Vector< char * > data {}
 Pointers to the_data that can be used for each single data transaction. More...
 
Vector< std::size_t > offset {}
 All offsets of data in the_data. More...
 
Vector< std::size_t > size {}
 The size in bytes for each data transaction. More...
 
Vector< MPI_Requestrequest {}
 The associated MPI_Request for each data transaction. More...
 
Vector< MPI_Statusstats {}
 For each request the corresponding MPI_status, used for debugging. More...
 
Vector< const FabArrayBase::CopyComTagsContainer * > cctc {}
 For each request the copy comm tags for the corresponding data FABs. More...
 

Detailed Description

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.

Member Data Documentation

◆ cctc

Vector<const FabArrayBase::CopyComTagsContainer*> amrex::NonLocalBC::CommData::cctc {}

For each request the copy comm tags for the corresponding data FABs.

◆ data

Vector<char*> amrex::NonLocalBC::CommData::data {}

Pointers to the_data that can be used for each single data transaction.

◆ offset

Vector<std::size_t> amrex::NonLocalBC::CommData::offset {}

All offsets of data in the_data.

◆ rank

Vector<int> amrex::NonLocalBC::CommData::rank {}

Stores MPI ranks. For recvs it is the 'from' rank and for sends it is the 'to' rank.

◆ request

Vector<MPI_Request> amrex::NonLocalBC::CommData::request {}

The associated MPI_Request for each data transaction.

◆ size

Vector<std::size_t> amrex::NonLocalBC::CommData::size {}

The size in bytes for each data transaction.

◆ stats

Vector<MPI_Status> amrex::NonLocalBC::CommData::stats {}

For each request the corresponding MPI_status, used for debugging.

◆ the_data

TheFaArenaPointer amrex::NonLocalBC::CommData::the_data = nullptr

Holds 'em all in one data pointer.


The documentation for this struct was generated from the following file: