Multithreading friendly profiler (#447)
Replace the profiler with a simpler design that works for nested multi-threaded regions. * Replace hierarchical profiler accounting with strictly exclusive regions. * Make tree grouping of profile data a presentation concern. * Uncouple profiler semantics from Arbor classes such as `model`. * Add thorough documentation for the new profiler to the library documentation.
Showing
- doc/index.rst 1 addition, 0 deletionsdoc/index.rst
- doc/profiler.rst 243 additions, 0 deletionsdoc/profiler.rst
- example/brunel/CMakeLists.txt 1 addition, 1 deletionexample/brunel/CMakeLists.txt
- example/brunel/brunel_miniapp.cpp 2 additions, 2 deletionsexample/brunel/brunel_miniapp.cpp
- example/brunel/readme.md 1 addition, 1 deletionexample/brunel/readme.md
- example/miniapp/io.cpp 0 additions, 6 deletionsexample/miniapp/io.cpp
- example/miniapp/miniapp.cpp 3 additions, 2 deletionsexample/miniapp/miniapp.cpp
- src/backends/gpu/multi_event_stream.hpp 0 additions, 2 deletionssrc/backends/gpu/multi_event_stream.hpp
- src/communication/communicator.hpp 6 additions, 0 deletionssrc/communication/communicator.hpp
- src/communication/mpi.cpp 0 additions, 8 deletionssrc/communication/mpi.cpp
- src/communication/mpi.hpp 0 additions, 19 deletionssrc/communication/mpi.hpp
- src/dss_cell_group.hpp 3 additions, 0 deletionssrc/dss_cell_group.hpp
- src/fvm_multicell.hpp 22 additions, 11 deletionssrc/fvm_multicell.hpp
- src/lif_cell_group.cpp 1 addition, 1 deletionsrc/lif_cell_group.cpp
- src/mc_cell_group.hpp 4 additions, 11 deletionssrc/mc_cell_group.hpp
- src/merge_events.cpp 13 additions, 4 deletionssrc/merge_events.cpp
- src/model.cpp 7 additions, 21 deletionssrc/model.cpp
- src/profiling/meter_manager.hpp 4 additions, 1 deletionsrc/profiling/meter_manager.hpp
- src/profiling/profiler.cpp 283 additions, 364 deletionssrc/profiling/profiler.cpp
- src/profiling/profiler.hpp 33 additions, 224 deletionssrc/profiling/profiler.hpp
Please register or sign in to comment