PhyStar  v0.0.0 thu24
tfft3d::Cart3DPencilDecomp< T, GroupID > Class Template Reference

#include <pencildecomp.hpp>

Inheritance diagram for tfft3d::Cart3DPencilDecomp< T, GroupID >:
Collaboration diagram for tfft3d::Cart3DPencilDecomp< T, GroupID >:

Public Types

using pfun = void(Cart3DPencilDecomp< T, GroupID >::*)(const T *, T *, const int)
 

Public Member Functions

 Cart3DPencilDecomp ()
 Construct a new Cart 3 D Pencil Decomp object. More...
 
 ~Cart3DPencilDecomp ()
 
auto & setArraySize (std::vector< int > size)
 
auto & setGhostSize (std::vector< int > gh0, std::vector< int > gh1, std::vector< int > gh2)
 
auto & setMPIDecomp (const int npr, const int npc)
 
std::vector< int > getArraySize () const
 
std::pair< std::vector< int >, std::vector< int > > getLocalIndex (int f0, int f1, int f2) const
 
std::vector< int > getLocalSize (int f0, int f1, int f2) const
 
size_t getMaxBufferSize () const
 
std::vector< int > getLocalSize (int axis_npr, int axis_npc)
 Get the Local Size. More...
 
std::pair< std::vector< int >, std::vector< int > > getLocalIndex (int axis_npr, int axis_npc)
 Get the Local Index. More...
 
auto & Init ()
 
void ConvertArraytoBufferXYPZ (const T *in, T *out, const int xflag, const int yflag, const int rotflag, const int ghost_igflag=kNone)
 
void ConvertBuffertoArrayXYPZ (const T *in, T *out, const int xflag, const int yflag, const int rotflag, const int ghost_igflag=kNone)
 
void ConvertArraytoBufferYZPX (const T *in, T *out, const int yflag, const int zflag, const int rotflag, const int ghost_igflag=kNone)
 
void ConvertBuffertoArrayYZPX (const T *in, T *out, const int yflag, const int zflag, const int rotflag, const int ghost_igflag=kNone)
 
void ConvertArraytoBufferZXPY (const T *in, T *out, const int zflag, const int xflag, const int rotflag, const int ghost_igflag=kNone)
 
void ConvertBuffertoArrayZXPY (const T *in, T *out, const int zflag, const int xflag, const int rotflag, const int ghost_igflag=kNone)
 
void TransposeFromXYtoXZ (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromXZtoXY (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromZXtoZY (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromZYtoZX (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromYZtoYX (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromYXtoYZ (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromXZtoYZ (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromYZtoXZ (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromZYtoXY (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromXYtoZY (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromYXtoZX (const T *in, T *out, const int ghost_igflag=kNone)
 
void TransposeFromZXtoYX (const T *in, T *out, const int ghost_igflag=kNone)
 
int TransposeHashID (int i, int j, int k, int m)
 
void Transpose (int axis_npr_from, int axis_npc_from, int axis_npr_to, int axis_npc_to, const T *in, T *out, const int ghost_igflag=false)
 
void CountAndDispFromXYtoXZ (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromXZtoXY (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromZXtoZY (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromZYtoZX (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromYZtoYX (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromYXtoYZ (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromXZtoYZ (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromYZtoXZ (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromZYtoXY (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromXYtoZY (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromYXtoZX (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 
void CountAndDispFromZXtoYX (int *sendcount, int *senddisp, int *recvcount, int *recvdisp)
 

Public Attributes

std::unordered_map< int, pfuntranspose_list
 

Private Member Functions

void _InitMPIComm ()
 
void _InitMPIDataType ()
 
void _InitArrayLocalSize ()
 
void _InitIndexAndDisp ()
 
void _AllocateDisp ()
 
void _InitSendRecv ()
 
void _InitSendRecvBuffer ()
 
void _InitSendRecvCountAndDisp ()
 

Private Attributes

MPI_Comm & _comm = PencilBase<GroupID>::comm
 
MPI_Comm & _npc_comm = PencilBase<GroupID>::npc_comm
 
MPI_Comm & _npr_comm = PencilBase<GroupID>::npr_comm
 
MPI_Datatype _mydatatype = nullptr
 
int & _rank = PencilBase<GroupID>::rank
 
int & _npr = PencilBase<GroupID>::npr
 
int & _npc = PencilBase<GroupID>::npc
 
int * _coord = PencilBase<GroupID>::coord
 
int * _ghost_n0 = PencilBase<GroupID>::ghost_n0
 
int * _ghost_n1 = PencilBase<GroupID>::ghost_n1
 
int * _ghost_n2 = PencilBase<GroupID>::ghost_n2
 
int * _shape = PencilBase<GroupID>::shape
 
int * _n0loc = PencilBase<GroupID>::n0loc
 
int * _n1loc = PencilBase<GroupID>::n1loc
 
int * _n2loc = PencilBase<GroupID>::n2loc
 
int * _ind0st = PencilBase<GroupID>::ind0st
 
int * _ind0ed = PencilBase<GroupID>::ind0ed
 
int * _ind1st = PencilBase<GroupID>::ind1st
 
int * _ind1ed = PencilBase<GroupID>::ind1ed
 
int * _ind2st = PencilBase<GroupID>::ind2st
 
int * _ind2ed = PencilBase<GroupID>::ind2ed
 
size_t & _maxbuffersize = PencilBase<GroupID>::maxbuffersize
 
int * _disp0_r = PencilBase<GroupID>::disp0_r
 
int * _disp0_c = PencilBase<GroupID>::disp0_c
 
int * _disp1_r = PencilBase<GroupID>::disp1_r
 
int * _disp1_c = PencilBase<GroupID>::disp1_c
 
int * _disp2_r = PencilBase<GroupID>::disp2_r
 
int * _disp2_c = PencilBase<GroupID>::disp2_c
 
T * _sendbuffer = nullptr
 
T * _recvbuffer = nullptr
 
int * _sendcount = nullptr
 
int * _recvcount = nullptr
 
int * _senddisp = nullptr
 
int * _recvdisp = nullptr
 

Additional Inherited Members

- Static Public Attributes inherited from tfft3d::PencilBase< GroupID >
static MPI_Comm comm = nullptr
 
static MPI_Comm npc_comm = nullptr
 
static MPI_Comm npr_comm = nullptr
 
static int rank = 0
 
static int npr = 0
 
static int npc = 0
 
static int coord [2] = {0, 0}
 
static int ghost_n0 [2] = {0, 0}
 
static int ghost_n1 [2] = {0, 0}
 
static int ghost_n2 [2] = {0, 0}
 
static int shape [3] = {0, 0, 0}
 
static int n0loc [3] = {0, 0, 0}
 
static int n1loc [3] = {0, 0, 0}
 
static int n2loc [3] = {0, 0, 0}
 
static int ind0st [3] = {0, 0, 0}
 
static int ind0ed [3] = {0, 0, 0}
 
static int ind1st [3] = {0, 0, 0}
 
static int ind1ed [3] = {0, 0, 0}
 
static int ind2st [3] = {0, 0, 0}
 
static int ind2ed [3] = {0, 0, 0}
 
static size_t maxbuffersize = 0
 
static int * disp0_r = nullptr
 
static int * disp0_c = nullptr
 
static int * disp1_r = nullptr
 
static int * disp1_c = nullptr
 
static int * disp2_r = nullptr
 
static int * disp2_c = nullptr
 

Member Typedef Documentation

◆ pfun

template<typename T , int GroupID>
using tfft3d::Cart3DPencilDecomp< T, GroupID >::pfun = void (Cart3DPencilDecomp<T, GroupID>::*)(const T *, T *, const int)

Constructor & Destructor Documentation

◆ Cart3DPencilDecomp()

template<typename T , int GroupID>
tfft3d::Cart3DPencilDecomp< T, GroupID >::Cart3DPencilDecomp ( )
inline

Construct a new Cart 3 D Pencil Decomp object.

◆ ~Cart3DPencilDecomp()

Member Function Documentation

◆ _AllocateDisp()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::_AllocateDisp
private

◆ _InitArrayLocalSize()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::_InitArrayLocalSize
private

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ _InitIndexAndDisp()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::_InitIndexAndDisp
private

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ _InitMPIComm()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::_InitMPIComm
private

◆ _InitMPIDataType()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::_InitMPIDataType
private

◆ _InitSendRecv()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::_InitSendRecv
private

◆ _InitSendRecvBuffer()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::_InitSendRecvBuffer
private

References tfft3d::kC, tfft3d::kP, tfft3d::kR, and quadpack::max().

Here is the call graph for this function:

◆ _InitSendRecvCountAndDisp()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::_InitSendRecvCountAndDisp
private

References quadpack::max().

Here is the call graph for this function:

◆ ConvertArraytoBufferXYPZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::ConvertArraytoBufferXYPZ ( const T *  in,
T *  out,
const int  xflag,
const int  yflag,
const int  rotflag,
const int  ghost_igflag = kNone 
)

◆ ConvertArraytoBufferYZPX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::ConvertArraytoBufferYZPX ( const T *  in,
T *  out,
const int  yflag,
const int  zflag,
const int  rotflag,
const int  ghost_igflag = kNone 
)

◆ ConvertArraytoBufferZXPY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::ConvertArraytoBufferZXPY ( const T *  in,
T *  out,
const int  zflag,
const int  xflag,
const int  rotflag,
const int  ghost_igflag = kNone 
)

◆ ConvertBuffertoArrayXYPZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::ConvertBuffertoArrayXYPZ ( const T *  in,
T *  out,
const int  xflag,
const int  yflag,
const int  rotflag,
const int  ghost_igflag = kNone 
)

◆ ConvertBuffertoArrayYZPX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::ConvertBuffertoArrayYZPX ( const T *  in,
T *  out,
const int  yflag,
const int  zflag,
const int  rotflag,
const int  ghost_igflag = kNone 
)

◆ ConvertBuffertoArrayZXPY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::ConvertBuffertoArrayZXPY ( const T *  in,
T *  out,
const int  zflag,
const int  xflag,
const int  rotflag,
const int  ghost_igflag = kNone 
)

◆ CountAndDispFromXYtoXZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromXYtoXZ ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromXYtoZY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromXYtoZY ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromXZtoXY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromXZtoXY ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromXZtoYZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromXZtoYZ ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

◆ CountAndDispFromYXtoYZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromYXtoYZ ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromYXtoZX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromYXtoZX ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromYZtoXZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromYZtoXZ ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromYZtoYX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromYZtoYX ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromZXtoYX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromZXtoYX ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromZXtoZY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromZXtoZY ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromZYtoXY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromZYtoXY ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ CountAndDispFromZYtoZX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::CountAndDispFromZYtoZX ( int *  sendcount,
int *  senddisp,
int *  recvcount,
int *  recvdisp 
)

References tfft3d::kC, tfft3d::kP, and tfft3d::kR.

◆ getArraySize()

template<typename T , int GroupID>
std::vector<int> tfft3d::Cart3DPencilDecomp< T, GroupID >::getArraySize ( ) const
inline

◆ getLocalIndex() [1/2]

template<typename T , int GroupID>
std::pair< std::vector< int >, std::vector< int > > tfft3d::Cart3DPencilDecomp< T, GroupID >::getLocalIndex ( int  axis_npr,
int  axis_npc 
)

Get the Local Index.

Attention
not include ghost cell if you want to use index to generate new array, please additionally consider ghost cell such as blin:Array3r u(Range(st[0]-gh,ed[0]+gh),Range(st[1]-gh,ed[1]+gh),Range(st[2]-gh,ed[2]+gh))
Parameters
axis_npr
axis_npc
Returns
std::pair<std::vector<int>, std::vector<int>> [st ed], not include ghost cell

References tfft3d::kC, tfft3d::kP, tfft3d::kR, tfft3d::kX, tfft3d::kY, and tfft3d::kZ.

◆ getLocalIndex() [2/2]

◆ getLocalSize() [1/2]

template<typename T , int GroupID>
std::vector< int > tfft3d::Cart3DPencilDecomp< T, GroupID >::getLocalSize ( int  axis_npr,
int  axis_npc 
)

Get the Local Size.

Parameters
axis_nprlabel of axis npr
axis_npclabel of axis npc
Returns
std::vector<int> [size[0],size[1], size[2]] not include ghost cell

References tfft3d::kC, tfft3d::kP, tfft3d::kR, tfft3d::kX, tfft3d::kY, and tfft3d::kZ.

◆ getLocalSize() [2/2]

template<typename T , int GroupID>
std::vector<int> tfft3d::Cart3DPencilDecomp< T, GroupID >::getLocalSize ( int  f0,
int  f1,
int  f2 
) const
inline

◆ getMaxBufferSize()

template<typename T , int GroupID>
size_t tfft3d::Cart3DPencilDecomp< T, GroupID >::getMaxBufferSize ( ) const
inline

References tfft3d::Cart3DPencilDecomp< T, GroupID >::_maxbuffersize.

Here is the caller graph for this function:

◆ Init()

template<typename T , int GroupID>
auto & tfft3d::Cart3DPencilDecomp< T, GroupID >::Init

◆ setArraySize()

template<typename T , int GroupID>
auto& tfft3d::Cart3DPencilDecomp< T, GroupID >::setArraySize ( std::vector< int >  size)
inline

References tfft3d::Cart3DPencilDecomp< T, GroupID >::_shape.

Here is the caller graph for this function:

◆ setGhostSize()

template<typename T , int GroupID>
auto& tfft3d::Cart3DPencilDecomp< T, GroupID >::setGhostSize ( std::vector< int >  gh0,
std::vector< int >  gh1,
std::vector< int >  gh2 
)
inline

◆ setMPIDecomp()

template<typename T , int GroupID>
auto& tfft3d::Cart3DPencilDecomp< T, GroupID >::setMPIDecomp ( const int  npr,
const int  npc 
)
inline

◆ Transpose()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::Transpose ( int  axis_npr_from,
int  axis_npc_from,
int  axis_npr_to,
int  axis_npc_to,
const T *  in,
T *  out,
const int  ghost_igflag = false 
)
inline

References tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeHashID().

Here is the call graph for this function:

◆ TransposeFromXYtoXZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromXYtoXZ ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromXYtoZY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromXYtoZY ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromXZtoXY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromXZtoXY ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromXZtoYZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromXZtoYZ ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromYXtoYZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromYXtoYZ ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromYXtoZX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromYXtoZX ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromYZtoXZ()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromYZtoXZ ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromYZtoYX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromYZtoYX ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromZXtoYX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromZXtoYX ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromZXtoZY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromZXtoZY ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromZYtoXY()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromZYtoXY ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeFromZYtoZX()

template<typename T , int GroupID>
void tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeFromZYtoZX ( const T *  in,
T *  out,
const int  ghost_igflag = kNone 
)

References tfft3d::kC, and tfft3d::kR.

◆ TransposeHashID()

template<typename T , int GroupID>
int tfft3d::Cart3DPencilDecomp< T, GroupID >::TransposeHashID ( int  i,
int  j,
int  k,
int  m 
)
inline
Here is the caller graph for this function:

Member Data Documentation

◆ _comm

template<typename T , int GroupID>
MPI_Comm& tfft3d::Cart3DPencilDecomp< T, GroupID >::_comm = PencilBase<GroupID>::comm
private

◆ _coord

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_coord = PencilBase<GroupID>::coord
private

◆ _disp0_c

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_disp0_c = PencilBase<GroupID>::disp0_c
private

◆ _disp0_r

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_disp0_r = PencilBase<GroupID>::disp0_r
private

◆ _disp1_c

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_disp1_c = PencilBase<GroupID>::disp1_c
private

◆ _disp1_r

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_disp1_r = PencilBase<GroupID>::disp1_r
private

◆ _disp2_c

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_disp2_c = PencilBase<GroupID>::disp2_c
private

◆ _disp2_r

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_disp2_r = PencilBase<GroupID>::disp2_r
private

◆ _ghost_n0

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ghost_n0 = PencilBase<GroupID>::ghost_n0
private

◆ _ghost_n1

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ghost_n1 = PencilBase<GroupID>::ghost_n1
private

◆ _ghost_n2

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ghost_n2 = PencilBase<GroupID>::ghost_n2
private

◆ _ind0ed

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ind0ed = PencilBase<GroupID>::ind0ed
private

◆ _ind0st

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ind0st = PencilBase<GroupID>::ind0st
private

◆ _ind1ed

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ind1ed = PencilBase<GroupID>::ind1ed
private

◆ _ind1st

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ind1st = PencilBase<GroupID>::ind1st
private

◆ _ind2ed

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ind2ed = PencilBase<GroupID>::ind2ed
private

◆ _ind2st

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_ind2st = PencilBase<GroupID>::ind2st
private

◆ _maxbuffersize

template<typename T , int GroupID>
size_t& tfft3d::Cart3DPencilDecomp< T, GroupID >::_maxbuffersize = PencilBase<GroupID>::maxbuffersize
private

◆ _mydatatype

template<typename T , int GroupID>
MPI_Datatype tfft3d::Cart3DPencilDecomp< T, GroupID >::_mydatatype = nullptr
private

◆ _n0loc

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_n0loc = PencilBase<GroupID>::n0loc
private

◆ _n1loc

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_n1loc = PencilBase<GroupID>::n1loc
private

◆ _n2loc

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_n2loc = PencilBase<GroupID>::n2loc
private

◆ _npc

template<typename T , int GroupID>
int& tfft3d::Cart3DPencilDecomp< T, GroupID >::_npc = PencilBase<GroupID>::npc
private

◆ _npc_comm

template<typename T , int GroupID>
MPI_Comm& tfft3d::Cart3DPencilDecomp< T, GroupID >::_npc_comm = PencilBase<GroupID>::npc_comm
private

◆ _npr

template<typename T , int GroupID>
int& tfft3d::Cart3DPencilDecomp< T, GroupID >::_npr = PencilBase<GroupID>::npr
private

◆ _npr_comm

template<typename T , int GroupID>
MPI_Comm& tfft3d::Cart3DPencilDecomp< T, GroupID >::_npr_comm = PencilBase<GroupID>::npr_comm
private

◆ _rank

template<typename T , int GroupID>
int& tfft3d::Cart3DPencilDecomp< T, GroupID >::_rank = PencilBase<GroupID>::rank
private

◆ _recvbuffer

template<typename T , int GroupID>
T* tfft3d::Cart3DPencilDecomp< T, GroupID >::_recvbuffer = nullptr
private

◆ _recvcount

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_recvcount = nullptr
private

◆ _recvdisp

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_recvdisp = nullptr
private

◆ _sendbuffer

template<typename T , int GroupID>
T* tfft3d::Cart3DPencilDecomp< T, GroupID >::_sendbuffer = nullptr
private

◆ _sendcount

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_sendcount = nullptr
private

◆ _senddisp

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_senddisp = nullptr
private

◆ _shape

template<typename T , int GroupID>
int* tfft3d::Cart3DPencilDecomp< T, GroupID >::_shape = PencilBase<GroupID>::shape
private

◆ transpose_list

template<typename T , int GroupID>
std::unordered_map<int, pfun> tfft3d::Cart3DPencilDecomp< T, GroupID >::transpose_list
Initial value:
= {
void TransposeFromYZtoXZ(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:90
void TransposeFromXYtoZY(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:108
void TransposeFromYZtoYX(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:63
void TransposeFromXYtoXZ(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:27
void TransposeFromYXtoZX(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:117
void TransposeFromXZtoYZ(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:81
void TransposeFromZXtoYX(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:126
int TransposeHashID(int i, int j, int k, int m)
Definition: pencildecomp.hpp:337
void TransposeFromYXtoYZ(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:72
void TransposeFromZYtoXY(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:99
void TransposeFromZYtoZX(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:54
void TransposeFromXZtoXY(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:36
void TransposeFromZXtoZY(const T *in, T *out, const int ghost_igflag=kNone)
Definition: paratranspose.hxx:45
@ kX
Definition: pencildecomp.hpp:45
@ kY
Definition: pencildecomp.hpp:46
@ kZ
Definition: pencildecomp.hpp:47

The documentation for this class was generated from the following files: