ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
Loading...
Searching...
No Matches
profiler.hpp File Reference

Lightweight named-region execution profiling. More...

#include <string>
Include dependency graph for profiler.hpp:

Namespaces

namespace  orb5x
namespace  orb5x::profiler
 Simple interface to Score-P for profiling ORB5.

Macros

#define profiler_begin_region(region_name)
#define profiler_begin_region_species(isp)

Functions

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.
void orb5x::profiler::profiler_begin_region_species_impl (int isp, const char *file, int line)
 Open a subregion for a specific species.
void orb5x::profiler::profiler_end_region (const char *region_name)
 End profiling for a specific region.
void orb5x::profiler::profiler_end_region_species (int isp)
 Close a subregion for a specific species.
void orb5x::profiler::profiler_off ()
 Deactivate the profiling.
void orb5x::profiler::profiler_on ()
 Activate the profiling (ON by default).
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)

Detailed Description

Lightweight named-region execution profiling.

Records process-local wall-clock totals and call counts; regions must be balanced.

Macro Definition Documentation

◆ profiler_begin_region

#define profiler_begin_region ( region_name)
Value:
profiler_begin_region_impl((region_name), __FILE__, __LINE__)

◆ profiler_begin_region_species

#define profiler_begin_region_species ( isp)
Value:
profiler_begin_region_species_impl((isp), __FILE__, __LINE__)