d377a6b6f4
This code is the implementation of Software-base Performance Counters as described in the paper 'Using Software-Base Performance Counters to Expose Low-Level Open MPI Performance Information' in EuroMPI/USA '17 (http://icl.cs.utk.edu/news_pub/submissions/software-performance-counters.pdf). More practical usage information can be found here: https://github.com/davideberius/ompi/wiki/How-to-Use-Software-Based-Performance-Counters-(SPCs)-in-Open-MPI. All software events functions are put in macros that become no-ops when SOFTWARE_EVENTS_ENABLE is not defined. The internal timer units have been changed to cycles to avoid division operations which was a large source of overhead as discussed in the paper. Added a --with-spc configure option to enable SPCs in the Open MPI build. This defines SOFTWARE_EVENTS_ENABLE. Added an MCA parameter, mpi_spc_enable, for turning on specific counters. Added an MCA parameter, mpi_spc_dump_enabled, for turning on and off dumping SPC counters in MPI_Finalize. Added an SPC test and example. Signed-off-by: David Eberius <deberius@vols.utk.edu> |
||
---|---|---|
.. | ||
base.h | ||
help-mca-base.txt | ||
help-mca-var.txt | ||
Makefile.am | ||
mca_base_close.c | ||
mca_base_cmd_line.c | ||
mca_base_component_compare.c | ||
mca_base_component_find.c | ||
mca_base_component_repository.c | ||
mca_base_component_repository.h | ||
mca_base_components_close.c | ||
mca_base_components_open.c | ||
mca_base_components_register.c | ||
mca_base_components_select.c | ||
mca_base_framework.c | ||
mca_base_framework.h | ||
mca_base_list.c | ||
mca_base_open.c | ||
mca_base_parse_paramfile.c | ||
mca_base_pvar.c | ||
mca_base_pvar.h | ||
mca_base_var_enum.c | ||
mca_base_var_enum.h | ||
mca_base_var_group.c | ||
mca_base_var_group.h | ||
mca_base_var.c | ||
mca_base_var.h | ||
mca_base_vari.h |