Draft: Athena MPI
This MR implements Athena MPI. Link to talk: https://indico.cern.ch/event/1502371/#11-athenampi-update
- Adds
MPIClusterSvc
which manages MPI through B.MPI3 - Adds
MPIHiveEventLoopMgr
(adapted fromAthenaHiveEventLoopMgr
) which implements the event loop in MPI mode - Adapts
OutputStreamSequencerSvc
to support splitting the output file on input file boundaries- In this mode, it will look for a comma separated list in square brackets in the output file name and expand this to a list of output file names
- Adds the necessary arguments and management code to the Python code (including the transforms code).
In addition, while debugging segfaults I replaced a number of std::mutex
es with std::recursive_mutex
es and reformatted InnerDetector/InDetCalibAlgs/PixelCalibAlgs/RadDamage/IBLLeakageCurrentData/grabAllAutoStave.py
because it has some very long lines that were causing issues.
AthenaMPISharedTool
is also included with an implementation of a shared writing tool, but this isn't currently used.
Edited by Beojan Stanislaus