#include "Core/Array/Pattern/ArrayFunc.h"
#include "Core/Array/Pattern/PxArrayFunc.h"
#include "Core/Array/Pattern/PxPartition.h"
#include "Core/Array/Pattern/PxSystem.h"
#include "mpi.h"
#include "PxxStream.h"
Include dependency graph for PxDistribution.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
namespace | Impala |
namespace | Impala::Core |
namespace | Impala::Core::Array |
namespace | Impala::Core::Array::Pattern |
Enumerations | |
enum | Impala::Core::Array::Pattern::tags { Impala::Core::Array::Pattern::INIT_TAG, Impala::Core::Array::Pattern::BCAST_TAG, Impala::Core::Array::Pattern::RDUCE_TAG, Impala::Core::Array::Pattern::SCAT_TAG, Impala::Core::Array::Pattern::GATH_TAG, Impala::Core::Array::Pattern::RDIST_TAG, Impala::Core::Array::Pattern::BOR_TAG } |
enum | Impala::Core::Array::Pattern::dists { Impala::Core::Array::Pattern::PX_OFT, Impala::Core::Array::Pattern::PX_SBT, Impala::Core::Array::Pattern::PX_MPI } |
enum | Impala::Core::Array::Pattern::dirs { Impala::Core::Array::Pattern::TO, Impala::Core::Array::Pattern::FROM } |
enum | Impala::Core::Array::Pattern::planes { Impala::Core::Array::Pattern::YZ_PLANE, Impala::Core::Array::Pattern::XZ_PLANE, Impala::Core::Array::Pattern::XY_PLANE } |
Functions | |
void | Impala::Core::Array::Pattern::PxInitDistribution (int aw, int ah, int ad, int xcpus, int ycpus, int zcpus) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxLclArrayCopy (ArrayT *loc, int dir, ArrayT *blk, int root, bool bdata) |
static int | Impala::Core::Array::Pattern::PxResponsibilityRange (int cpuNr) |
static int | Impala::Core::Array::Pattern::PxLineRange (int dimension, int firstIndex, int *order) |
static void | Impala::Core::Array::Pattern::PxGetSBTorder (int root, int orderLength, int *order, int *myIndex) |
void | Impala::Core::Array::Pattern::PxInitCommunication () |
template<class ArithT> | |
static ArithT | Impala::Core::Array::Pattern::PxBcastValueOFT (ArithT val, int root) |
template<class ArithT> | |
static ArithT | Impala::Core::Array::Pattern::PxBcastValueSBT (ArithT val, int root) |
template<class ArithT> | |
static ArithT | Impala::Core::Array::Pattern::PxBcastValueMPI (ArithT val, int root) |
template<class ArithT> | |
ArithT | Impala::Core::Array::Pattern::PxBcastValue (ArithT val, int root=0, int dtype=PX_MPI) |
template<class ArithT, class RedOpT> | |
static void | Impala::Core::Array::Pattern::PxReduce (ArithT *in, ArithT *inout, int *len, MPI_Datatype *dptr) |
template<class ArithT, class RedOpT> | |
static ArithT | Impala::Core::Array::Pattern::PxReduceValueToRootOFT (ArithT val, RedOpT redOp, int root) |
template<class ArithT, class RedOpT> | |
static ArithT | Impala::Core::Array::Pattern::PxReduceValueToRootSBT (ArithT val, RedOpT redOp, int root) |
template<class ArithT, class RedOpT> | |
static ArithT | Impala::Core::Array::Pattern::PxReduceValueToRootMPI (ArithT val, RedOpT redOp, int root) |
template<class ArithT, class RedOpT> | |
ArithT | Impala::Core::Array::Pattern::PxReduceValueToRoot (ArithT val, RedOpT redOp, int root=0, int dtype=PX_MPI) |
template<class ArithT, class RedOpT> | |
static ArithT | Impala::Core::Array::Pattern::PxReduceValueToAllOFT (ArithT val, RedOpT redOp) |
template<class ArithT, class RedOpT> | |
static ArithT | Impala::Core::Array::Pattern::PxReduceValueToAllSBT (ArithT val, RedOpT redOp) |
template<class ArithT, class RedOpT> | |
static ArithT | Impala::Core::Array::Pattern::PxReduceValueToAllMPI (ArithT val, RedOpT redOp) |
template<class ArithT, class RedOpT> | |
ArithT | Impala::Core::Array::Pattern::PxReduceValueToAll (ArithT val, RedOpT redOp, int dtype=PX_MPI) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxScatterArrayOFT (ArrayT *glob, ArrayT *loc, int root, bool bdata) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxScatterArraySBT (ArrayT *glob, ArrayT *loc, int root, bool bdata) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxScatterArrayMPI (ArrayT *glob, ArrayT *loc, int root, int bdata=true) |
template<class ArrayT> | |
void | Impala::Core::Array::Pattern::PxScatterArray (ArrayT *glob, ArrayT *loc, int root=0, int dtype=PX_SBT, bool bdata=false) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxGatherArrayOFT (ArrayT *glob, ArrayT *loc, int root, bool bdata) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxGatherArraySBT (ArrayT *glob, ArrayT *loc, int root, bool bdata) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxGatherArrayMPI (ArrayT *glob, ArrayT *loc, int root, bool bdata=true) |
template<class ArrayT> | |
void | Impala::Core::Array::Pattern::PxGatherArray (ArrayT *glob, ArrayT *loc, int root=0, int dtype=PX_SBT, bool bdata=false) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxBcastArrayOFT (ArrayT *a, int root, bool bdata) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxBcastArraySBT (ArrayT *a, int root, bool bdata) |
template<class ArrayT> | |
static void | Impala::Core::Array::Pattern::PxBcastArrayMPI (ArrayT *a, int root, bool bdata) |
template<class ArrayT> | |
void | Impala::Core::Array::Pattern::PxBcastArray (ArrayT *a, int root=0, int dtype=PX_MPI, bool bdata=false) |
template<class ArrayT> | |
void | Impala::Core::Array::Pattern::PxRedistArray (ArrayT **a, int xcpus, int ycpus, int zcpus, bool bdata=false) |
template<class ArrayT> | |
void | Impala::Core::Array::Pattern::PxBorderExchange (ArrayT *a, int divide, int extent) |
Variables | |
static int | Impala::Core::Array::Pattern::_myCPU |
static int | Impala::Core::Array::Pattern::_nrCPUs |
static int | Impala::Core::Array::Pattern::_logCPUs |
static int | Impala::Core::Array::Pattern::_maxCPUs |
int | Impala::Core::Array::Pattern::dp = 0 |