Currently, we assume that the user wants the track the MPI routine breakdown for all 7 critical path measures. This is overkill for almost all purposes, and will really cause scalability issues.
This global variable will be a std::bitset and be set as: 0b0000001 by default, which signifies that the MPI routine breakdown is tracked just for the critical path runtime. This will result in nearly 7x reduction in bytes communicated.
This variable will exist in the critter namespace instead of the critter::internal namespace, which allows the user to modify it.
I'll close this. One thing I do not like is that bitset's count() method is not constexpr, so I cannot verify that the user set both global variables correctly.
Currently, we assume that the user wants the track the MPI routine breakdown for all 7 critical path measures. This is overkill for almost all purposes, and will really cause scalability issues.
This global variable will be a std::bitset and be set as: 0b0000001 by default, which signifies that the MPI routine breakdown is tracked just for the critical path runtime. This will result in nearly 7x reduction in bytes communicated.
This variable will exist in the
critter
namespace instead of thecritter::internal
namespace, which allows the user to modify it.