escript
Revision_
|
Go to the source code of this file.
Classes | |
struct | Esys_MPIInfo |
Struct that holds MPI communicator, rank, size and a tag counter. More... | |
Namespaces | |
namespace | esysUtils |
Defines | |
#define | MPI_INT 6 |
#define | MPI_DOUBLE 11 |
#define | MPI_COMM_WORLD 91 |
#define | ESYS_MPI_TODO { fprintf( stdout, "\nTODO : %s:%d\n", __FILE__, __LINE__); MPI_Finalize(); exit(1); } |
#define | ESYS_MPI_INC_COUNTER(V, I) {(V).msg_tag_counter=((V).msg_tag_counter+(I))%1010201;} |
#define | ESYS_MPI_SET_COUNTER(V, I) {(V).msg_tag_counter=(I)%1010201;} |
Typedefs | |
typedef int | MPI_Comm |
typedef int | MPI_Request |
typedef int | MPI_Status |
typedef int | Esys_MPI_rank |
typedef struct Esys_MPIInfo | Esys_MPIInfo |
Functions | |
Esys_MPIInfo * | Esys_MPIInfo_alloc (MPI_Comm comm) |
void | Esys_MPIInfo_free (Esys_MPIInfo *) |
Esys_MPIInfo * | Esys_MPIInfo_getReference (Esys_MPIInfo *in) |
int | Esys_MPIInfo_initialized (void) |
index_t | Esys_MPIInfo_mod (index_t n, index_t k) |
dim_t | Esys_MPIInfo_setDistribution (Esys_MPIInfo *in, index_t min_id, index_t max_id, index_t *distribution) |
void | Esys_MPIInfo_Split (Esys_MPIInfo *mpi_info, dim_t n, dim_t *local_N, index_t *offset) |
bool | Esys_MPIInfo_noError (Esys_MPIInfo *mpi_info) |
std::string | esysUtils::appendRankToFileName (const std::string &fileName, int mpiSize, int mpiRank) |
Appends MPI rank to a file name if MPI size > 1. | |
bool | esysUtils::getSplitWorld () |
void | esysUtils::splitWorld () |
#define ESYS_MPI_INC_COUNTER | ( | V, | |
I | |||
) | {(V).msg_tag_counter=((V).msg_tag_counter+(I))%1010201;} |
Referenced by paso::SystemMatrix::copyColCoupleBlock(), paso::SystemMatrix::copyRemoteCoupleBlock(), finley::NodeFile::createDenseDOFLabeling(), finley::NodeFile::createDenseNodeLabeling(), finley::NodeFile::createDenseReducedLabeling(), finley::NodeFile::createDOFMappingAndCoupling(), finley::ElementFile::distributeByRankOfDOF(), Dudley_ElementFile_distributeByRankOfDOF(), Dudley_Mesh_createDOFMappingAndCoupling(), Dudley_NodeFile_createDenseDOFLabeling(), Dudley_NodeFile_createDenseNodeLabeling(), Dudley_NodeFile_createDenseReducedDOFLabeling(), Dudley_NodeFile_createDenseReducedNodeLabeling(), Dudley_NodeFile_gather_global(), paso::SystemMatrix::extendedRowsForST(), finley::NodeFile::gather_global(), paso::SystemMatrix::mergeSystemMatrix(), paso::Preconditioner_AMG_buildInterpolationOperator(), paso::Preconditioner_AMG_buildInterpolationOperatorBlock(), paso::Preconditioner_AMG_CopyRemoteData(), paso::Preconditioner_AMG_extendB(), paso::Preconditioner_AMG_getProlongation(), paso::Preconditioner_AMG_getRestriction(), and paso::Coupler::startCollect().
#define ESYS_MPI_SET_COUNTER | ( | V, | |
I | |||
) | {(V).msg_tag_counter=(I)%1010201;} |
Referenced by paso::SystemMatrix::mergeSystemMatrix().
#define ESYS_MPI_TODO { fprintf( stdout, "\nTODO : %s:%d\n", __FILE__, __LINE__); MPI_Finalize(); exit(1); } |
#define MPI_COMM_WORLD 91 |
Referenced by Dudley_Mesh_read(), Dudley_Mesh_readGmsh(), Dudley_TriangularMesh_Tet4(), Dudley_TriangularMesh_Tri3(), escript::DataConstant::dump(), escript::DataExpanded::dump(), escript::DataTagged::dump(), escript::Data::get_MPIComm(), escript::EscriptParams::getInt(), escript::getMPIRankWorld(), escript::getMPISizeWorld(), escript::getMPIWorldMax(), escript::getMPIWorldSum(), escript::Data::infWorker(), weipa::VisItControl::initialize(), escript::Data::integrateWorker(), escript::Data::lazyAlgWorker(), escript::load(), finley::loadMesh(), dudley::loadMesh(), paso::SystemMatrix::loadMM_toCSC(), paso::SystemMatrix::loadMM_toCSR(), escript::Data::LsupWorker(), escript::MPIBarrierWorld(), escript::printParallelThreadCnt(), esysUtils::randomFillArray(), finley::Mesh::read(), finley::Mesh::readGmsh(), finley::RectangularMesh_Hex20(), finley::RectangularMesh_Hex8(), finley::RectangularMesh_Rec4(), finley::RectangularMesh_Rec8(), ripley::RipleyDomain::RipleyDomain(), escript::runMPIProgram(), escript::Data::setTupleForGlobalDataPoint(), and escript::Data::supWorker().
#define MPI_DOUBLE 11 |
Referenced by finley::Mesh::addPoints(), escript::Data::calc_maxGlobalDataPoint(), escript::Data::calc_minGlobalDataPoint(), paso::SystemMatrix::copyColCoupleBlock(), paso::SystemMatrix::copyRemoteCoupleBlock(), paso::Function::derivative(), Dudley_Mesh_read(), Dudley_NodeFile_gather_global(), finley::NodeFile::gather_global(), paso::SystemMatrix::getGlobalSize(), paso::FCT_Solver::getSafeTimeStepSize(), paso::ReactiveSolver::getSafeTimeStepSize(), escript::Data::getValueOfGlobalDataPointAsTuple(), escript::Data::infWorker(), paso::util::innerProduct(), escript::Data::integrateWorker(), paso::util::l2(), escript::Data::lazyAlgWorker(), paso::util::lsup(), escript::Data::LsupWorker(), paso::SystemMatrix::mergeSystemMatrix(), paso::Preconditioner_AMG_CopyRemoteData(), paso::Preconditioner_AMG_extendB(), paso::Preconditioner_AMG_getRestriction(), ripley::Brick::randomFillWorker(), ripley::Rectangle::randomFillWorker(), finley::Mesh::read(), paso::MergedSolver::solve(), paso::Solver(), paso::Solver_BiCGStab(), paso::Solver_GMRES(), paso::Solver_PCG(), paso::Coupler::startCollect(), and escript::Data::supWorker().
#define MPI_INT 6 |
Referenced by paso::SystemMatrix::borrowMainDiagonalPointer(), escript::Data::calc_maxGlobalDataPoint(), escript::Data::calc_minGlobalDataPoint(), paso::SystemMatrix::copyRemoteCoupleBlock(), finley::NodeFile::createDenseDOFLabeling(), finley::NodeFile::createDenseNodeLabeling(), finley::NodeFile::createDenseReducedLabeling(), finley::NodeFile::createDOFMappingAndCoupling(), finley::NodeFile::createNodeMappings(), finley::ElementFile::distributeByRankOfDOF(), Dudley_ElementFile_distributeByRankOfDOF(), Dudley_ElementFile_setElementDistribution(), Dudley_Mesh_createDOFMappingAndCoupling(), Dudley_Mesh_createNodeFileMappings(), Dudley_Mesh_optimizeDOFDistribution(), Dudley_Mesh_optimizeDOFLabeling(), Dudley_Mesh_read(), Dudley_Mesh_resolveNodeIds(), Dudley_NodeFile_createDenseDOFLabeling(), Dudley_NodeFile_createDenseNodeLabeling(), Dudley_NodeFile_createDenseReducedDOFLabeling(), Dudley_NodeFile_createDenseReducedNodeLabeling(), Dudley_NodeFile_gather_global(), Dudley_NodeFile_setGlobalDOFRange(), Dudley_NodeFile_setGlobalIdRange(), Dudley_NodeFile_setGlobalNodeIDIndexRange(), Dudley_NodeFile_setGlobalReducedDegreeOfFreedomRange(), Dudley_NodeFile_setGlobalReducedNodeIDIndexRange(), Dudley_Util_setValuesInUse(), escript::DataConstant::dump(), escript::DataExpanded::dump(), dudley::MeshAdapter::dump(), finley::MeshAdapter::dump(), escript::DataTagged::dump(), paso::SystemMatrix::extendedRowsForST(), finley::NodeFile::gather_global(), finley::NodeFile::getGlobalDOFRange(), finley::NodeFile::getGlobalIdRange(), finley::NodeFile::getGlobalNodeIDIndexRange(), escript::getMPIWorldMax(), escript::getMPIWorldSum(), paso::TransportProblem::getSafeTimeStepSize(), escript::Data::interpolateFromTable1D(), escript::Data::interpolateFromTable2D(), escript::Data::interpolateFromTable3D(), weipa::EscriptDataset::loadData(), weipa::EscriptDataset::loadDomain(), escript::Data::matrixInverse(), paso::SystemMatrix::mergeSystemMatrix(), paso::Distribution::numPositives(), esysUtils::FileWriter::openFile(), finley::Mesh::optimizeDOFDistribution(), finley::Mesh::optimizeDOFLabeling(), paso::Preconditioner_AMG_alloc(), paso::Preconditioner_AMG_buildInterpolationOperator(), paso::Preconditioner_AMG_buildInterpolationOperatorBlock(), paso::Preconditioner_AMG_CopyRemoteData(), paso::Preconditioner_AMG_extendB(), paso::Preconditioner_AMG_getProlongation(), paso::Preconditioner_AMG_getRestriction(), finley::NodeFile::prepareLabeling(), weipa::VisItControl::publishData(), finley::Mesh::read(), finley::Mesh::resolveNodeIds(), escript::saveDataCSV(), weipa::EscriptDataset::saveVTKsingle(), weipa::EscriptDataset::setDomain(), weipa::EscriptDataset::setExternalDomain(), finley::Mesh::setOrders(), escript::Data::setTupleForGlobalDataPoint(), finley::util::setValuesInUse(), paso::ReactiveSolver::solve(), escript::Data::toString(), weipa::EscriptDataset::updateSampleDistribution(), and ripley::RipleyDomain::updateTagsInUse().
typedef int Esys_MPI_rank |
typedef struct Esys_MPIInfo Esys_MPIInfo |
typedef int MPI_Comm |
typedef int MPI_Request |
typedef int MPI_Status |
Esys_MPIInfo* Esys_MPIInfo_alloc | ( | MPI_Comm | comm | ) |
References Esys_MPIInfo::comm, ESYS_MPI_ERROR, Esys_setError(), Esys_MPIInfo::msg_tag_counter, Esys_MPIInfo::rank, Esys_MPIInfo::reference_counter, and Esys_MPIInfo::size.
Referenced by Dudley_Mesh_read(), Dudley_Mesh_readGmsh(), Dudley_TriangularMesh_Tet4(), Dudley_TriangularMesh_Tri3(), finley::loadMesh(), dudley::loadMesh(), paso::SystemMatrix::loadMM_toCSC(), paso::SystemMatrix::loadMM_toCSR(), finley::Mesh::read(), finley::Mesh::readGmsh(), finley::RectangularMesh_Hex20(), finley::RectangularMesh_Hex8(), finley::RectangularMesh_Rec4(), finley::RectangularMesh_Rec8(), and ripley::RipleyDomain::RipleyDomain().
void Esys_MPIInfo_free | ( | Esys_MPIInfo * | ) |
References Esys_MPIInfo::reference_counter.
Referenced by finley::cleanupAndThrow(), dudley::cleanupAndThrow(), Dudley_ElementFile_free(), Dudley_Mesh_free(), Dudley_Mesh_read(), Dudley_Mesh_readGmsh(), Dudley_NodeFile_free(), Dudley_TriangularMesh_Tet4(), Dudley_TriangularMesh_Tri3(), finley::loadMesh(), dudley::loadMesh(), paso::SystemMatrix::loadMM_toCSC(), paso::SystemMatrix::loadMM_toCSR(), paso::Preconditioner_AMG_buildInterpolationOperator(), paso::Preconditioner_AMG_buildInterpolationOperatorBlock(), finley::Mesh::read(), finley::Mesh::readGmsh(), finley::RectangularMesh_Hex20(), finley::RectangularMesh_Hex8(), finley::RectangularMesh_Rec4(), finley::RectangularMesh_Rec8(), paso::Connector::~Connector(), paso::Coupler::~Coupler(), paso::Distribution::~Distribution(), finley::ElementFile::~ElementFile(), paso::FCT_FluxLimiter::~FCT_FluxLimiter(), paso::FCT_Solver::~FCT_Solver(), paso::Function::~Function(), finley::Mesh::~Mesh(), finley::NodeFile::~NodeFile(), ripley::RipleyDomain::~RipleyDomain(), paso::SharedComponents::~SharedComponents(), paso::SystemMatrix::~SystemMatrix(), paso::SystemMatrixPattern::~SystemMatrixPattern(), and paso::TransportProblem::~TransportProblem().
References Esys_MPIInfo::reference_counter.
Referenced by paso::Connector::Connector(), paso::Coupler::Coupler(), paso::Distribution::Distribution(), Dudley_ElementFile_alloc(), Dudley_Mesh_alloc(), Dudley_NodeFile_alloc(), finley::ElementFile::ElementFile(), paso::FCT_FluxLimiter::FCT_FluxLimiter(), paso::FCT_Solver::FCT_Solver(), paso::Function::Function(), paso::MergedSolver::MergedSolver(), finley::Mesh::Mesh(), finley::NodeFile::NodeFile(), paso::Preconditioner_AMG_buildInterpolationOperator(), paso::Preconditioner_AMG_buildInterpolationOperatorBlock(), paso::Preconditioner_AMG_getProlongation(), paso::Preconditioner_AMG_getRestriction(), paso::SharedComponents::SharedComponents(), paso::SystemMatrix::SystemMatrix(), paso::SystemMatrixPattern::SystemMatrixPattern(), and paso::TransportProblem::TransportProblem().
int Esys_MPIInfo_initialized | ( | void | ) |
References ESYS_MPI_ERROR, Esys_setError(), and TRUE.
index_t Esys_MPIInfo_mod | ( | index_t | n, |
index_t | k | ||
) |
Referenced by finley::NodeFile::createDenseDOFLabeling(), finley::NodeFile::createDenseNodeLabeling(), finley::NodeFile::createDenseReducedLabeling(), Dudley_Mesh_optimizeDOFDistribution(), Dudley_Mesh_optimizeDOFLabeling(), Dudley_NodeFile_createDenseDOFLabeling(), Dudley_NodeFile_createDenseNodeLabeling(), Dudley_NodeFile_createDenseReducedDOFLabeling(), Dudley_NodeFile_createDenseReducedNodeLabeling(), Dudley_NodeFile_gather_global(), finley::NodeFile::gather_global(), finley::Mesh::optimizeDOFDistribution(), finley::Mesh::optimizeDOFLabeling(), and finley::NodeFile::prepareLabeling().
bool Esys_MPIInfo_noError | ( | Esys_MPIInfo * | mpi_info | ) |
References Esys_noError().
Referenced by Dudley_makePattern(), Dudley_Mesh_optimizeDOFLabeling(), Dudley_MPI_noError(), Dudley_NodeFile_gather_global(), finley::NodeFile::gather_global(), finley::Mesh::makePattern(), finley::MPI_noError(), finley::Mesh::optimizeDOFLabeling(), paso::Preconditioner_alloc(), paso::Preconditioner_AMG_Root_alloc(), paso::Preconditioner_Smoother_alloc(), and paso::solve().
dim_t Esys_MPIInfo_setDistribution | ( | Esys_MPIInfo * | in, |
index_t | min_id, | ||
index_t | max_id, | ||
index_t * | distribution | ||
) |
References paso::N, and Esys_MPIInfo::size.
Referenced by Dudley_Mesh_prepare(), Dudley_NodeFile_createDenseDOFLabeling(), Dudley_NodeFile_createDenseReducedDOFLabeling(), Dudley_NodeFile_createDenseReducedNodeLabeling(), Dudley_NodeFile_gather_global(), finley::NodeFile::gather_global(), finley::Mesh::prepare(), and finley::NodeFile::prepareLabeling().
void Esys_MPIInfo_Split | ( | Esys_MPIInfo * | mpi_info, |
dim_t | n, | ||
dim_t * | local_N, | ||
index_t * | offset | ||
) |