Add power meter and refactor meter interfaces.
Fixes #190. The final piece in the metering features. * Add a `power_meter` which currently records energy used on each node of a Cray XC{30,40,50} systems, which all have built in `pm_counters` interface to power measurement. * Add information about which node each MPI rank runs on to the metering output in `meters.json`, which is needed to analyse energy recordings, which are per node, not per MPI rank. * Refactor collation of measurements: now the responsibility of the meter manager. * Add support for `gather` with `std::string` to the global communication policy, which required a back end MPI implementation and corresponding unit test. * Add `src/util/config.hpp` that populate the `nest::mc::config` namespace with `constexpr bool` flags describing system or environment capabilities.
Showing
- CMakeLists.txt 1 addition, 0 deletionsCMakeLists.txt
- miniapp/miniapp.cpp 1 addition, 3 deletionsminiapp/miniapp.cpp
- src/CMakeLists.txt 3 additions, 2 deletionssrc/CMakeLists.txt
- src/communication/mpi.hpp 25 additions, 10 deletionssrc/communication/mpi.hpp
- src/communication/serial_global_policy.hpp 1 addition, 1 deletionsrc/communication/serial_global_policy.hpp
- src/profiling/memory_meter.cpp 52 additions, 39 deletionssrc/profiling/memory_meter.cpp
- src/profiling/memory_meter.hpp 2 additions, 11 deletionssrc/profiling/memory_meter.hpp
- src/profiling/meter.cpp 0 additions, 23 deletionssrc/profiling/meter.cpp
- src/profiling/meter.hpp 15 additions, 32 deletionssrc/profiling/meter.hpp
- src/profiling/meter_manager.cpp 86 additions, 19 deletionssrc/profiling/meter_manager.cpp
- src/profiling/meter_manager.hpp 30 additions, 4 deletionssrc/profiling/meter_manager.hpp
- src/profiling/meters.md 7 additions, 7 deletionssrc/profiling/meters.md
- src/profiling/power_meter.cpp 48 additions, 0 deletionssrc/profiling/power_meter.cpp
- src/profiling/power_meter.hpp 18 additions, 0 deletionssrc/profiling/power_meter.hpp
- src/profiling/time_meter.cpp 0 additions, 67 deletionssrc/profiling/time_meter.cpp
- src/util/config.hpp 41 additions, 0 deletionssrc/util/config.hpp
- src/util/hostname.cpp 37 additions, 0 deletionssrc/util/hostname.cpp
- src/util/hostname.hpp 16 additions, 0 deletionssrc/util/hostname.hpp
- src/util/memory.hpp 0 additions, 6 deletionssrc/util/memory.hpp
- src/util/power.cpp 32 additions, 0 deletionssrc/util/power.cpp
src/profiling/meter.cpp
deleted
100644 → 0
src/profiling/power_meter.cpp
0 → 100644
src/profiling/time_meter.cpp
deleted
100644 → 0
src/util/config.hpp
0 → 100644
src/util/hostname.cpp
0 → 100644
src/util/hostname.hpp
0 → 100644
src/util/power.cpp
0 → 100644
Please register or sign in to comment