Skip to content

Draft: Athena MPI

Beojan Stanislaus requested to merge bstanisl/athena:mpi-athena into main

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 from AthenaHiveEventLoopMgr) 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::mutexes with std::recursive_mutexes 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

Merge request reports

Loading