From 19eea63f71795a18e47bd5561520e9846a7d702a Mon Sep 17 00:00:00 2001 From: vys0053 <ondrej.vysocky@vsb.cz> Date: Thu, 13 Jul 2017 12:33:02 +0200 Subject: [PATCH] READEX probes insted of MERIC probes --- .../solvers/incompressible/icoFoam/icoFoam.C | 72 +++++--- .../incompressible/simpleFoam/simpleFoam.C | 161 +++++++++++------- .../lduMatrix/lduMatrix/lduMatrixATmul.C | 52 +++--- .../lduMatrix/solvers/GAMG/GAMGSolver.C | 25 +-- .../matrices/lduMatrix/solvers/PBiCG/PBiCG.C | 67 +++++--- OpenFOAM-v1612+/src/Pstream/mpi/UPstream.C | 18 +- 6 files changed, 245 insertions(+), 150 deletions(-) diff --git a/OpenFOAM-v1612+/applications/solvers/incompressible/icoFoam/icoFoam.C b/OpenFOAM-v1612+/applications/solvers/incompressible/icoFoam/icoFoam.C index 1d446d99..f7bfbc08 100644 --- a/OpenFOAM-v1612+/applications/solvers/incompressible/icoFoam/icoFoam.C +++ b/OpenFOAM-v1612+/applications/solvers/incompressible/icoFoam/icoFoam.C @@ -63,18 +63,25 @@ Description #include "fvCFD.H" #include "pisoControl.H" -//#include <meric.h> +#ifdef WITHREADEX +#include <readex.h> +#endif + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//#define WITHMERIC +//#define WITHREADEX int main(int argc, char *argv[]) { #include "setRootCase.H" //MERIC_Init(); - OpenFOAM-v1612+/src/Pstream/mpi/UPstream.C - #ifdef WITHMERIC - MERIC_MeasureStart("icoFoam"); + #ifdef WITHREADEX + //MERIC_MeasureStart("icoFoam"); + READEX_REGION_DEFINE(icoFoam); + READEX_REGION_START(icoFoam, "icoFoam", SCOREP_USER_REGION_TYPE_COMMON); #endif - #ifdef WITHMERIC - MERIC_MeasureStart("init"); + #ifdef WITHREADEX + //MERIC_MeasureStart("init"); + READEX_REGION_DEFINE(init); + READEX_REGION_START(init, "init", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "createTime.H" #include "createMesh.H" @@ -82,18 +89,27 @@ int main(int argc, char *argv[]) #include "createFields.H" #include "initContinuityErrs.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); //init + #ifdef WITHREADEX + //MERIC_MeasureStop(); //init + READEX_REAGION_STOP(init); #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - #ifdef WITHMERIC - MERIC_MeasureStart("icoFoam-MainLoop"); + #ifdef WITHREADEX + //MERIC_MeasureStart("icoFoam-MainLoop"); + READEX_REGION_DEFINE(icoFoamMainLoop); + READEX_REGION_START(icoFoamMainLoop, "icoFoam-MainLoop", SCOREP_USER_REGION_TYPE_COMMON); + + READEX_REGION_DEFINE(iteration); #endif Info<< "\nStarting time loop\n" << endl; while (runTime.loop()) { + #ifdef WITHREADEX + READEX_PHASE_START(iteration, "iteration", SCOREP_USER_REGION_TYPE_COMMON); + #endif + Info<< "Time = " << runTime.timeName() << nl << endl; #include "CourantNo.H" @@ -112,8 +128,10 @@ int main(int argc, char *argv[]) solve(UEqn == -fvc::grad(p)); } - #ifdef WITHMERIC - MERIC_MeasureStart("pisoLoop"); + #ifdef WITHREADEX + //MERIC_MeasureStart("pisoLoop"); + READEX_REGION_DEFINE(pisoLoop); + READEX_REGION_START(pisoLoop, "pisoLoop", SCOREP_USER_REGION_TYPE_COMMON); #endif // --- PISO loop while (piso.correct()) @@ -157,28 +175,38 @@ int main(int argc, char *argv[]) U = HbyA - rAU*fvc::grad(p); U.correctBoundaryConditions(); } - #ifdef WITHMERIC - MERIC_MeasureStop(); //pisoLoop + #ifdef WITHREADEX + //MERIC_MeasureStop(); //pisoLoop + READEX_REGION_STOP(pisoLoop); #endif - #ifdef WITHMERIC - MERIC_MeasureStart("write"); + #ifdef WITHREADEX + //MERIC_MeasureStart("write"); + READEX_REGION_DEFINE(write); + READEX_REGION_START(write, "write", SCOREP_USER_REGION_TYPE_COMMON); #endif runTime.write(); - #ifdef WITHMERIC - MERIC_MeasureStop(); //write + #ifdef WITHREADEX + //MERIC_MeasureStop(); //write + READEX_REGION_STOP(write); #endif Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; + + #ifdef WITHREADEX + READEX_PHASE_STOP(iteration); + #endif } - #ifdef WITHMERIC - MERIC_MeasureStop(); //icoFoam-MainLoop + #ifdef WITHREADEX + //MERIC_MeasureStop(); //icoFoam-MainLoop + READEX_REGION_STOP(icoFoamMainLoop); #endif - #ifdef WITHMERIC - MERIC_MeasureStop(); //icoFoam + #ifdef WITHREADEX + //MERIC_MeasureStop(); //icoFoam + READEX_REGION_STOP(icoFoam); #endif Info<< "End\n" << endl; diff --git a/OpenFOAM-v1612+/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/OpenFOAM-v1612+/applications/solvers/incompressible/simpleFoam/simpleFoam.C index e31c5c96..2b16531a 100644 --- a/OpenFOAM-v1612+/applications/solvers/incompressible/simpleFoam/simpleFoam.C +++ b/OpenFOAM-v1612+/applications/solvers/incompressible/simpleFoam/simpleFoam.C @@ -67,10 +67,8 @@ Description #include "simpleControl.H" #include "fvOptions.H" -#define WITHMERIC - -#ifdef WITHMERIC -#include <meric.h> +#ifdef WITHREADEX +#include <readex.h> #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -81,64 +79,82 @@ int main(int argc, char *argv[]) #include "postProcess.H" #include "setRootCase.H" //MERIC_Init - #ifdef WITHMERIC - MERIC_MeasureStart("simpleFoam"); + #ifdef WITHREADEX + //MERIC_MeasureStart("simpleFoam"); + READEX_REGION_DEFINE(simpleFoam); + READEX_REGION_START(simpleFoam, "simpleFoam", SCOREP_USER_REGION_TYPE_COMMON); #endif -//TODO -/* - - rozsekat init - - k+omega - - matrices/lduMatrix/solvers/GAMG.C - - matrices/lduMatrix/solvers/PBiCG.C - - matrices/lduMatrix/lduMatrixATmul.C - - write ? -*/ - - #ifdef WITHMERIC - MERIC_MeasureStart("init"); + + #ifdef WITHREADEX + //MERIC_MeasureStart("init"); + READEX_REGION_DEFINE(init); + READEX_REGION_START(init, "init", SCOREP_USER_REGION_TYPE_COMMON); #endif - #ifdef WITHMERIC - MERIC_MeasureStart("init-createTime"); + #ifdef WITHREADEX + //MERIC_MeasureStart("init-createTime"); + READEX_REGION_DEFINE(initCreateTime); + READEX_REGION_START(initCreateTime, "init-createTime", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "createTime.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); - MERIC_MeasureStart("init-createMesh"); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + //MERIC_MeasureStart("init-createMesh"); + READEX_REGION_STOP(initCreateTime); + READEX_REGION_DEFINE(initCreateMesh); + READEX_REGION_START(initCreateMesh, "init-createMesh", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "createMesh.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); - MERIC_MeasureStart("init-createControl"); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + //MERIC_MeasureStart("init-createControl"); + READEX_REGION_STOP(initCreateMesh); + READEX_REGION_DEFINE(initCreateControl); + READEX_REGION_START(initCreateControl, "init-createControl", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "createControl.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); - MERIC_MeasureStart("init-createFields"); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + //MERIC_MeasureStart("init-createFields"); + READEX_REGION_STOP(initCreateControl); + READEX_REGION_DEFINE(initCreateFields); + READEX_REGION_START(initCreateFields, "init-createFields", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "createFields.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); - MERIC_MeasureStart("init-createFvOptions"); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + //MERIC_MeasureStart("init-createFvOptions"); + READEX_REGION_STOP(initCreateFields); + READEX_REGION_DEFINE(initCreateFvOptions); + READEX_REGION_START(initCreateFvOptions, "init-createFvOptions", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "createFvOptions.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); - MERIC_MeasureStart("init-ContinuityErrs"); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + //MERIC_MeasureStart("init-ContinuityErrs"); + READEX_REGION_STOP(initCreateFvOptions); + READEX_REGION_DEFINE(initContinuityErrs); + READEX_REGION_START(initContinuityErrs, "init-ContinuityErrs", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "initContinuityErrs.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(initContinuityErrs); #endif - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(init); #endif turbulence->validate(); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#ifdef WITHMERIC -MERIC_MeasureStart("simple-loop"); +#ifdef WITHREADEX +//MERIC_MeasureStart("simple-loop"); +READEX_REGION_DEFINE(simpleLoop); +READEX_REGION_START(simpleLoop, "simple-loop", SCOREP_USER_REGION_TYPE_COMMON); + +READEX_REGION_DEFINE(iteration); #endif Info<< "\nStarting time loop\n" << endl; @@ -147,63 +163,80 @@ int i = 0; while (simple.loop()) { i++; - #ifdef WITHMERIC - MERIC_MeasureStart("iteration"); + #ifdef WITHREADEX + //MERIC_MeasureStart("iteration"); + READEX_PHASE_START(iteration, "iteration", SCOREP_USER_REGION_TYPE_COMMON); #endif Info<< "Time = " << runTime.timeName() << nl << endl; // --- Pressure-velocity SIMPLE corrector { - #ifdef WITHMERIC - MERIC_MeasureStart("UEqn"); //u + #ifdef WITHREADEX + //MERIC_MeasureStart("UEqn"); //u + READEX_REGION_DEFINE(UEqn); + READEX_REGION_START(UEqn, "UEqn", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "UEqn.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); - MERIC_MeasureStart("pEqn"); //p + #ifdef WITHREADEX + //MERIC_MeasureStop(); + //MERIC_MeasureStart("pEqn"); //p + READEX_REGION_STOP(UEqn); + READEX_REGION_DEFINE(pEqn); + READEX_REGION_START(pEqn, "pEqn", SCOREP_USER_REGION_TYPE_COMMON); #endif #include "pEqn.H" - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(pEqn); #endif } //start k+omega - #ifdef WITHMERIC - MERIC_MeasureStart("transportAndTurbulance"); + #ifdef WITHREADEX + //MERIC_MeasureStart("transportAndTurbulance"); + READEX_REGION_DEFINE(transportAndTurbulance); + READEX_REGION_START(transportAndTurbulance, "transportAndTurbulance", SCOREP_USER_REGION_TYPE_COMMON); + #endif laminarTransport.correct(); turbulence->correct(); - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(transportAndTurbulance); #endif //stop if (i%10 == 0) { - #ifdef WITHMERIC - MERIC_MeasureStart("write"); + #ifdef WITHREADEX + //MERIC_MeasureStart("write"); + READEX_REGION_DEFINE(write); + READEX_REGION_START(write, "write", SCOREP_USER_REGION_TYPE_COMMON); #endif } runTime.write(); if(i%10 == 0) { - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(write); #endif } Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_PHASE_STOP(iteration); #endif } -#ifdef WITHMERIC - MERIC_MeasureStop(); //simple-loop - MERIC_MeasureStop(); //simpleFoam - Info << "WITH MERIC\n"; +#ifdef WITHREADEX + //MERIC_MeasureStop(); //simple-loop + //MERIC_MeasureStop(); //simpleFoam + READEX_REGION_STOP(simpleLoop); + READEX_REGION_STOP(simpleFoam); + Info << "WITH READEX\n"; #endif Info<< "End\n" << endl; return 0; diff --git a/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C b/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C index a6bca30e..a8d7dffc 100644 --- a/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C +++ b/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C @@ -29,12 +29,12 @@ Description #include "lduMatrix.H" -#ifndef WITHMERIC - #define WITHMERIC +#ifndef WITHREADEX + #define WITHREADEX #endif -#ifdef WITHMERIC -#include <meric.h> +#ifdef WITHREADEX +#include <readex.h> #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -49,8 +49,10 @@ void Foam::lduMatrix::Amul ) const { //AMUL - #ifdef WITHMERIC - MERIC_MeasureStart("Amul"); + #ifdef WITHREADEX + //MERIC_MeasureStart("Amul"); + READEX_REGION_DEFINE(Amul); + READEX_REGION_START(Amul, "Amul", SCOREP_USER_REGION_TYPE_COMMON); #endif scalar* __restrict__ ApsiPtr = Apsi.begin(); @@ -103,8 +105,9 @@ void Foam::lduMatrix::Amul ); tpsi.clear(); - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(Amul); #endif } @@ -119,8 +122,10 @@ void Foam::lduMatrix::Tmul ) const { //TMUL - #ifdef WITHMERIC - MERIC_MeasureStart("Tmul"); + #ifdef WITHREADEX + //MERIC_MeasureStart("Tmul"); + READEX_REGION_DEFINE(Tmul); + READEX_REGION_START(Tmul, "Tmul", SCOREP_USER_REGION_TYPE_COMMON); #endif scalar* __restrict__ TpsiPtr = Tpsi.begin(); @@ -170,8 +175,9 @@ void Foam::lduMatrix::Tmul ); tpsi.clear(); - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(Tmul); #endif } @@ -183,8 +189,10 @@ void Foam::lduMatrix::sumA const lduInterfaceFieldPtrsList& interfaces ) const { - #ifdef WITHMERIC - MERIC_MeasureStart("sumA"); + #ifdef WITHREADEX + //MERIC_MeasureStart("sumA"); + READEX_REGION_DEFINE(sumA); + READEX_REGION_START(sumA, "sumA", SCOREP_USER_REGION_TYPE_COMMON); #endif scalar* __restrict__ sumAPtr = sumA.begin(); @@ -225,8 +233,9 @@ void Foam::lduMatrix::sumA } } } - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(sumA); #endif } @@ -241,8 +250,10 @@ void Foam::lduMatrix::residual const direction cmpt ) const { - #ifdef WITHMERIC - MERIC_MeasureStart("residual"); + #ifdef WITHREADEX + //MERIC_MeasureStart("residual"); + READEX_REGION_DEFINE(residual); + READEX_REGION_START(residual, "residual", SCOREP_USER_REGION_TYPE_COMMON); #endif scalar* __restrict__ rAPtr = rA.begin(); @@ -312,8 +323,9 @@ void Foam::lduMatrix::residual rA, cmpt ); - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(residual); #endif } diff --git a/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C b/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C index 452d07c3..720d2449 100644 --- a/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C +++ b/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.C @@ -26,13 +26,14 @@ License #include "GAMGSolver.H" #include "GAMGInterface.H" -#ifndef WITHMERIC - #define WITHMERIC +#ifndef WITHREADEX + #define WITHREADEX #endif -#ifdef WITHMERIC -#include <meric.h> +#ifdef WITHREADEX +//#include <meric.h> +#include <readex.h> #endif @@ -94,8 +95,10 @@ Foam::GAMGSolver::GAMGSolver interfaceLevelsIntCoeffs_(agglomeration_.size()) { - #ifdef WITHMERIC - MERIC_MeasureStart("GAMGsolver"); + #ifdef WITHREADEX + //MERIC_MeasureStart("GAMGsolver"); + READEX_REGION_DEFINE(GAMGsolver); + READEX_REGION_START(GAMGsolver, "GAMGsolver", SCOREP_USER_REGION_TYPE_COMMON); #endif readControls(); @@ -292,8 +295,9 @@ Foam::GAMGSolver::GAMGSolver else { - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(GAMGsolver); #endif FatalErrorInFunction @@ -303,8 +307,9 @@ Foam::GAMGSolver::GAMGSolver "nCellsInCoarsestLevel." << exit(FatalError); } - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(GAMGsolver); #endif } diff --git a/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/solvers/PBiCG/PBiCG.C b/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/solvers/PBiCG/PBiCG.C index a8e6a150..95b0c3f6 100644 --- a/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/solvers/PBiCG/PBiCG.C +++ b/OpenFOAM-v1612+/src/OpenFOAM/matrices/lduMatrix/solvers/PBiCG/PBiCG.C @@ -25,13 +25,13 @@ License #include "PBiCG.H" -#ifndef WITHMERIC - #define WITHMERIC +#ifndef WITHREADEX + #define WITHREADEX #endif -#ifdef WITHMERIC -#include <meric.h> +#ifdef WITHREADEX +#include <readex.h> #endif // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -79,8 +79,10 @@ Foam::solverPerformance Foam::PBiCG::solve { //Linear solver - #ifdef WITHMERIC - MERIC_MeasureStart("PBiCGsolver"); + #ifdef WITHREADEX + //MERIC_MeasureStart("PBiCGsolver"); + READEX_REGION_DEFINE(PBiCGsolver); + READEX_REGION_START(PBiCGsolver, "PBiCGsolver", SCOREP_USER_REGION_TYPE_COMMON); #endif // --- Setup class containing solver performance data @@ -155,15 +157,20 @@ Foam::solverPerformance Foam::PBiCG::solve // --- Solver iteration //All iteration - #ifdef WITHMERIC - MERIC_MeasureStart("PBiCG-AllIterations"); + #ifdef WITHREADEX + //MERIC_MeasureStart("PBiCG-AllIterations"); + READEX_REGION_DEFINE(PBiCGOneIteration); + READEX_REGION_DEFINE(ApplyPrec); + READEX_REGION_DEFINE(PBiCGAllIterations); + READEX_REGION_START(PBiCGAllIterations, "PBiCG-AllIterations", SCOREP_USER_REGION_TYPE_COMMON); #endif - + do { //iteration - #ifdef WITHMERIC - MERIC_MeasureStart("PBiCG-OneIteration"); + #ifdef WITHREADEX + //MERIC_MeasureStart("PBiCG-OneIteration"); + READEX_REGION_START(PBiCGOneIteration, "PBiCG-OneIteration", SCOREP_USER_REGION_TYPE_COMMON); #endif // --- Store previous wArT @@ -171,17 +178,21 @@ Foam::solverPerformance Foam::PBiCG::solve // --- Precondition residuals //prec 2x - #ifdef WITHMERIC - MERIC_MeasureStart("ApplyPrec"); + #ifdef WITHREADEX + //MERIC_MeasureStart("ApplyPrec"); + READEX_REGION_START(ApplyPrec, "ApplyPrec", SCOREP_USER_REGION_TYPE_COMMON); #endif preconPtr->precondition(wA, rA, cmpt); - #ifdef WITHMERIC - MERIC_MeasureStop(); - MERIC_MeasureStart("ApplyPrec"); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + //MERIC_MeasureStart("ApplyPrec"); + READEX_REGION_STOP(ApplyPrec); + READEX_REGION_START(ApplyPrec, "ApplyPrec", SCOREP_USER_REGION_TYPE_COMMON); #endif preconPtr->preconditionT(wT, rT, cmpt); - #ifdef WITHMERIC - MERIC_MeasureStop(); + #ifdef WITHREADEX + //MERIC_MeasureStop(); + READEX_REGION_STOP(ApplyPrec); #endif // --- Update search directions: @@ -218,8 +229,9 @@ Foam::solverPerformance Foam::PBiCG::solve // --- Test for singularity if (solverPerf.checkSingularity(mag(wApT)/normFactor)) { - #ifdef WITHMERIC - MERIC_MeasureStop(); //one iteration + #ifdef WITHREADEX + //MERIC_MeasureStop(); //PBiCG-OneIteration + READEX_REGION_STOP(PBiCGOneIteration); #endif break; } @@ -239,8 +251,9 @@ Foam::solverPerformance Foam::PBiCG::solve solverPerf.finalResidual() = gSumMag(rA, matrix().mesh().comm()) /normFactor; - #ifdef WITHMERIC - MERIC_MeasureStop(); //one iteration + #ifdef WITHREADEX + //MERIC_MeasureStop(); //one iteration + READEX_REGION_STOP(PBiCGOneIteration); #endif } while ( @@ -251,13 +264,15 @@ Foam::solverPerformance Foam::PBiCG::solve || solverPerf.nIterations() < minIter_ ); - #ifdef WITHMERIC - MERIC_MeasureStop(); //all iterations + #ifdef WITHREADEX + //MERIC_MeasureStop(); //PBiCG-AllIterations + READEX_REGION_STOP(PBiCGAllIterations); #endif } - #ifdef WITHMERIC - MERIC_MeasureStop(); //solver + #ifdef WITHREADEX + //MERIC_MeasureStop(); //solver + READEX_REGION_STOP(PBiCGsolver); #endif return solverPerf; diff --git a/OpenFOAM-v1612+/src/Pstream/mpi/UPstream.C b/OpenFOAM-v1612+/src/Pstream/mpi/UPstream.C index ff913420..e6de6ecd 100644 --- a/OpenFOAM-v1612+/src/Pstream/mpi/UPstream.C +++ b/OpenFOAM-v1612+/src/Pstream/mpi/UPstream.C @@ -42,9 +42,9 @@ License #define MPI_SCALAR MPI_DOUBLE #endif -#define WITHMERIC -#ifdef WITHMERIC -#include <meric.h> +#define WITHREADEX +#ifdef WITHREADEX +#include <readex.h> #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -67,8 +67,8 @@ void Foam::UPstream::addValidParOptions(HashTable<string>& validParOptions) bool Foam::UPstream::init(int& argc, char**& argv) { MPI_Init(&argc, &argv); - #ifdef WITHMERIC - MERIC_Init(); + #ifdef WITHREADEX + READEX_INIT(); #endif int numprocs; @@ -164,12 +164,14 @@ void Foam::UPstream::exit(int errnum) if (errnum == 0) { - #ifdef WITHMERIC - MERIC_Close(); + #ifdef WITHREADEX + READEX_CLOSE(); #endif MPI_Finalize(); - Pout << "DONE\n"; +// Pout << "DONE\n"; + #ifdef ENDKILL std::abort(); + #endif ::exit(errnum); } else -- GitLab