Block-Structured AMR Software Framework
 
Loading...
Searching...
No Matches
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.
 
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_Requestrequest {}
 The associated MPI_Request for each data transaction.
 
Vector< MPI_Statusstats {}
 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.
 
std::uint64_t id = std::numeric_limits<std::uint64_t>::max()
 

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.

◆ id

std::uint64_t amrex::NonLocalBC::CommData::id = std::numeric_limits<std::uint64_t>::max()

◆ 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: