Celeritas
0.5.0-86+4a8eea4
|
RAII class for scoped profiling. More...
#include <ScopedProfiling.hh>
Public Member Functions | |
ScopedProfiling (Input const &input) | |
Activate device profiling with options. | |
ScopedProfiling (std::string_view name) | |
Activate device profiling with just a name. | |
~ScopedProfiling () | |
Deactivate a profiling scope. | |
Type aliases | |
using | Input = ScopedProfilingInput |
CELER_DELETE_COPY_MOVE (ScopedProfiling) | |
RAII class for scoped profiling.
Implementations should support multithreaded context where each thread have one or more alive instance of this class.
This is useful for wrapping specific code fragment in a range for profiling, e.g. ignoring of VecGeom instantiation kernels, profiling a specific action or loop on the CPU.
ScopedProfiling
only does something when the application using Celeritas is ran through a tool that supports nvtx, e.g. nsight compute with the –nvtx argument. If this is not the case, API calls to nvtx are no-ops.Prevent copying and moving for RAII class
celeritas::ScopedProfiling::CELER_DELETE_COPY_MOVE | ( | ScopedProfiling | ) |
Prevent copying and moving for RAII class