Changes between Version 13 and Version 14 of Software/OpenFOAM/config_ScoreP


Ignore:
Timestamp:
05/15/17 09:57:25 (7 years ago)
Author:
Jens Henrik Goebbert
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Software/OpenFOAM/config_ScoreP

    v13 v14  
    1111'''ATTENTION:'''\\
    1212* Score-P can either support generating serial code or parallel/mpi code (default=parallel) - but '''never both at the same time'''.\\If you run an application instrumented by Score-P with parallel support in serial, Score-P will not be able to dump its results to disk but will report an error at application end: {{{SCOREP_IpcGroup_GetSize: Assertion ‘SCOREP_Status_IsMppInitialized()’ failed.”}}}\\ (this error also occurs, if MPI_finalize() is not called at the end of an MPI program instrumented with Score-P).\\ For an OpenFOAM installation for serial support uncomment the following in your environment setup script: {{{export SCOREP_WRAPPER_INSTRUMENTER_FLAGS="--mpp=none ${SCOREP_WRAPPER_INSTRUMENTER_FLAGS}"}}}
    13 * OpenFOAM overwrites malloc. This clashes with the Score-P memory measurement system that  wraps malloc.\\ Hence, it is recommended to disable the memory wrapping of Score-P by adding {{{--nomemory}}} to the instrumenter flags.\\Furthermore, it is recommended to make sure the malloc function from OpenFOAM is not instrumented, e.g. automatically by compiler instrumentation.The particular source file is: {{{src/OSspecific/POSIX/signals/sigFpe.C}}}
    14 * Use the GCC-compilers. GCC-compilers enable Score-P to distinguish between inlined and non-inlined functions.The GCC-compilers are free to inline any function and avoid to instrument these parts of the code. Especially for C++ code this should/must be considered.
    15 * OpenFOAM communicates through the PStream library which hides the used MPI infrastructure. For some OpenFOAM apps it seems to be possible, that during linking the executable, neither the MPI library nor the MPI compiler wrapper appear at the link line. In these cases the Score-P MPI library wrapping fails even though a ldd analysis of the executable shows that the PStream library contains the Score-P MPI wrapper library as a dependency. How to get around this issue needs further investigation.
     13* OpenFOAM overwrites malloc.\\This clashes with the Score-P memory measurement system that  wraps malloc.\\ Hence, it is recommended to disable the memory wrapping of Score-P by adding {{{--nomemory}}} to the instrumenter flags.\\Furthermore, it is recommended to make sure the malloc function from OpenFOAM is not instrumented, e.g. automatically by compiler instrumentation.The particular source file is: {{{src/OSspecific/POSIX/signals/sigFpe.C}}}
     14* Use the GCC-compilers.\\GCC-compilers enable Score-P to distinguish between inlined and non-inlined functions.The GCC-compilers are free to inline any function and avoid to instrument these parts of the code. Especially for C++ code this should/must be considered.
     15* OpenFOAM communicates through the PStream library which hides the used MPI infrastructure.\\For some OpenFOAM apps it seems to be possible, that during linking the executable, neither the MPI library nor the MPI compiler wrapper appear at the link line. In these cases the Score-P MPI library wrapping fails even though a ldd analysis of the executable shows that the PStream library contains the Score-P MPI wrapper library as a dependency. How to get around this issue needs further investigation.
    1616
    1717=== Set Environment ===