|
ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
|
Simple interface to Score-P for profiling ORB5. More...
Functions | |
| void | profiler_add_region_time (const std::string ®ion_name, double seconds, long long calls=1) |
| void | profiler_begin_region_impl (const char *region_name, const char *file, int line) |
| Begin profiling for a specific region. | |
| void | profiler_begin_region_species_impl (int isp, const char *file, int line) |
| Open a subregion for a specific species. | |
| void | profiler_end_region (const char *region_name) |
| End profiling for a specific region. | |
| void | profiler_end_region_species (int isp) |
| Close a subregion for a specific species. | |
| void | profiler_off () |
| Deactivate the profiling. | |
| void | profiler_on () |
| Activate the profiling (ON by default). | |
| void | profiler_print_summary (const std::string &label) |
| void | profiler_reset_summary () |
| void | profiler_write_summary_file (const std::string &label) |
Simple interface to Score-P for profiling ORB5.
This module provides a simple interface to Score-P for profiling ORB5. If profiling is not activated at compile time (SCOREP_USER_ENABLE not defined), this module will essentially not do anything to avoid perturbing the simulation with unnecessary directives. Note that when profiling the code, some slow-downs due to Score-P overhead may be observed.
This C++ implementation matches the Fortran profiler.F90 module exactly:
| void orb5x::profiler::profiler_add_region_time | ( | const std::string & | region_name, |
| double | seconds, | ||
| long long | calls = 1 ) |
| void orb5x::profiler::profiler_begin_region_impl | ( | const char * | region_name, |
| const char * | file, | ||
| int | line ) |
Begin profiling for a specific region.
| region_name | Name of the specific region to profile |
| file | Source-file name supplied by the profiling macro |
| line | Source line supplied by the profiling macro |
Opens a new region of code to profile. If this routine is called several times with the same region_name, the timings will be combined. When Score-P is not available, this function does nothing.
| void orb5x::profiler::profiler_begin_region_species_impl | ( | int | isp, |
| const char * | file, | ||
| int | line ) |
Open a subregion for a specific species.
| isp | Species number |
| file | Source-file name supplied by the profiling macro |
| line | Source line supplied by the profiling macro |
Creates a region name "Species N" and begins profiling for it. When Score-P is not available, this function does nothing.
| void orb5x::profiler::profiler_end_region | ( | const char * | region_name | ) |
End profiling for a specific region.
| region_name | Name of the specific region to profile |
Closes a profiling region. When Score-P is not available, this function does nothing.
| void orb5x::profiler::profiler_end_region_species | ( | int | isp | ) |
Close a subregion for a specific species.
| isp | Species number |
Ends profiling for the region "Species N". When Score-P is not available, this function does nothing.
| void orb5x::profiler::profiler_off | ( | ) |
Deactivate the profiling.
Disables Score-P recording if Score-P is available
| void orb5x::profiler::profiler_on | ( | ) |
Activate the profiling (ON by default).
Enables Score-P recording if Score-P is available
| void orb5x::profiler::profiler_print_summary | ( | const std::string & | label | ) |
| void orb5x::profiler::profiler_reset_summary | ( | ) |
| void orb5x::profiler::profiler_write_summary_file | ( | const std::string & | label | ) |