ESScript
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 |
Macros | |
#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 | 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 () |
Referenced by 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(), finley::NodeFile::gather_global(), Paso_Coupler_startCollect(), Paso_MergedSolver_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(), Paso_SystemMatrix_copyColCoupleBlock(), Paso_SystemMatrix_copyRemoteCoupleBlock(), and Paso_SystemMatrix_extendedRowsForST().
Referenced by Paso_MergedSolver_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(), weipa::VisItControl::initialize(), finley::loadMesh(), dudley::loadMesh(), Paso_SystemMatrix_CalcBorderMIS(), Paso_SystemMatrix_loadMM_toCSC(), Paso_SystemMatrix_loadMM_toCSR(), esysUtils::randomFillArray(), finley::Mesh::read(), finley::Mesh::readGmsh(), finley::RectangularMesh_Hex20(), finley::RectangularMesh_Hex8(), finley::RectangularMesh_Rec4(), finley::RectangularMesh_Rec8(), and ripley::RipleyDomain::RipleyDomain().
#define MPI_DOUBLE 11 |
Referenced by finley::Mesh::addPoints(), Dudley_Mesh_read(), Dudley_NodeFile_gather_global(), finley::NodeFile::gather_global(), Paso_Coupler_startCollect(), Paso_FCT_Solver_getSafeTimeStepSize(), Paso_FunctionDerivative(), Paso_InnerProduct(), Paso_l2(), Paso_lsup(), Paso_MergedSolver_mergeSystemMatrix(), Paso_MergedSolver_solve(), Paso_Preconditioner_AMG_CopyRemoteData(), Paso_Preconditioner_AMG_extendB(), Paso_Preconditioner_AMG_getRestriction(), Paso_ReactiveSolver_getSafeTimeStepSize(), Paso_Solver(), Paso_Solver_BiCGStab(), Paso_Solver_GMRES(), Paso_Solver_PCG(), Paso_SystemMatrix_copyColCoupleBlock(), Paso_SystemMatrix_copyRemoteCoupleBlock(), Paso_SystemMatrix_getGlobalSize(), ripley::Rectangle::randomFill(), and finley::Mesh::read().
#define MPI_INT 6 |
Referenced by 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(), dudley::MeshAdapter::dump(), finley::MeshAdapter::dump(), finley::NodeFile::gather_global(), finley::NodeFile::getGlobalDOFRange(), finley::NodeFile::getGlobalIdRange(), finley::NodeFile::getGlobalNodeIDIndexRange(), weipa::EscriptDataset::loadData(), weipa::EscriptDataset::loadDomain(), esysUtils::FileWriter::openFile(), finley::Mesh::optimizeDOFDistribution(), finley::Mesh::optimizeDOFLabeling(), Paso_Distribution_numPositives(), Paso_MergedSolver_mergeSystemMatrix(), 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(), Paso_ReactiveSolver_solve(), Paso_SystemMatrix_borrowMainDiagonalPointer(), Paso_SystemMatrix_copyRemoteCoupleBlock(), Paso_SystemMatrix_extendedRowsForST(), Paso_TransportProblem_getSafeTimeStepSize(), finley::NodeFile::prepareLabeling(), weipa::VisItControl::publishData(), finley::Mesh::read(), finley::Mesh::resolveNodeIds(), weipa::EscriptDataset::saveVTKsingle(), weipa::EscriptDataset::setDomain(), weipa::EscriptDataset::setExternalDomain(), finley::Mesh::setOrders(), finley::util::setValuesInUse(), 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 |
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_Connector_free(), Paso_Coupler_free(), Paso_Distribution_free(), Paso_FCT_FluxLimiter_free(), Paso_FCT_Solver_free(), Paso_Function_LinearSystem_free(), Paso_Preconditioner_AMG_buildInterpolationOperator(), Paso_Preconditioner_AMG_buildInterpolationOperatorBlock(), Paso_SharedComponents_free(), Paso_SystemMatrix_free(), Paso_SystemMatrix_loadMM_toCSC(), Paso_SystemMatrix_loadMM_toCSR(), Paso_SystemMatrixPattern_free(), Paso_TransportProblem_free(), finley::Mesh::read(), finley::Mesh::readGmsh(), finley::RectangularMesh_Hex20(), finley::RectangularMesh_Hex8(), finley::RectangularMesh_Rec4(), finley::RectangularMesh_Rec8(), finley::ElementFile::~ElementFile(), finley::Mesh::~Mesh(), finley::NodeFile::~NodeFile(), and ripley::RipleyDomain::~RipleyDomain().
Esys_MPIInfo* Esys_MPIInfo_getReference | ( | Esys_MPIInfo * | in | ) |
References Esys_MPIInfo::reference_counter.
Referenced by Dudley_ElementFile_alloc(), Dudley_Mesh_alloc(), Dudley_NodeFile_alloc(), finley::ElementFile::ElementFile(), finley::Mesh::Mesh(), finley::NodeFile::NodeFile(), Paso_Connector_alloc(), Paso_Coupler_alloc(), Paso_Distribution_alloc(), Paso_FCT_FluxLimiter_alloc(), Paso_FCT_Solver_alloc(), Paso_Function_LinearSystem_alloc(), Paso_MergedSolver_alloc(), Paso_Preconditioner_AMG_buildInterpolationOperator(), Paso_Preconditioner_AMG_buildInterpolationOperatorBlock(), Paso_Preconditioner_AMG_getProlongation(), Paso_Preconditioner_AMG_getRestriction(), Paso_SharedComponents_alloc(), Paso_SystemMatrix_alloc(), Paso_SystemMatrixPattern_alloc(), and Paso_TransportProblem_alloc().
int Esys_MPIInfo_initialized | ( | void | ) |
References ESYS_MPI_ERROR, Esys_setError(), and TRUE.
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 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 | ||
) |