46#include <blitz/array.h>
54 MPI_Datatype sendSubarrayX0;
56 MPI_Datatype sendSubarrayX1;
58 MPI_Datatype sendSubarrayY0;
60 MPI_Datatype sendSubarrayY1;
63 MPI_Datatype recvSubarrayX0;
65 MPI_Datatype recvSubarrayX1;
67 MPI_Datatype recvSubarrayY0;
69 MPI_Datatype recvSubarrayY1;
72 MPI_Datatype sendSubarrayX0Y0;
74 MPI_Datatype sendSubarrayX0Y1;
76 MPI_Datatype sendSubarrayX1Y0;
78 MPI_Datatype sendSubarrayX1Y1;
81 MPI_Datatype recvSubarrayX0Y0;
83 MPI_Datatype recvSubarrayX0Y1;
85 MPI_Datatype recvSubarrayX1Y0;
87 MPI_Datatype recvSubarrayX1Y1;
90 blitz::Array<MPI_Request, 1> recvRequest;
93 blitz::Array<MPI_Status, 1> recvStatus;
96 blitz::Array<real, 3> dataField;
102 mpidata(blitz::Array<real, 3> inputArray,
const parallel ¶llelData);
105 const blitz::TinyVector<int, 3> coreSize,
106 const blitz::TinyVector<int, 3> padWidth,
107 const bool xStag,
const bool yStag);
Class to store MPI derived datatypes for individual arrays.
Definition: mpidata.h:51
const parallel & rankData
A const reference to the global variables stored in the parallel class to access rank data.
Definition: mpidata.h:100
void createSubarrays(const blitz::TinyVector< int, 3 > globSize, const blitz::TinyVector< int, 3 > coreSize, const blitz::TinyVector< int, 3 > padWidth, const bool xStag, const bool yStag)
Function to create the subarray MPI_Datatypes.
Definition: mpidata.cc:82
void syncData()
Function to send data across all sub-domain faces.
Definition: mpidata.cc:278
mpidata(blitz::Array< real, 3 > inputArray, const parallel ¶llelData)
Constructor of the mpidata class.
Definition: mpidata.cc:57
Class for all the global variables and functions related to parallelization.
Definition: parallel.h:51
Class declaration of parallel.