Loading...
Searching...
No Matches
profiler.h File Reference
#include <atomic>#include <cstdlib>#include <chrono>#include <iomanip>#include <iostream>#include <map>#include <mutex>#include <string>#include <string_view>#include <utility>#include <vector>#include "opennn/core/device_backend.h"#include "opennn/core/log.h"Go to the source code of this file.
Classes | |
| class | opennn::profiler::Stats |
| struct | opennn::profiler::Stats::Entry |
| struct | opennn::profiler::detail::ExitDump |
| class | opennn::profiler::ScopedTimer |
Namespaces | |
| namespace | opennn |
| namespace | opennn::profiler |
| namespace | opennn::profiler::detail |
Macros | |
| #define | OPENNN_PROFILE_CAT_INNER(a, b) |
| #define | OPENNN_PROFILE_CAT(a, b) |
| #define | PROFILE_SCOPE_IMPL(name, sync) |
| #define | PROFILE_SCOPE(name) |
| #define | PROFILE_SCOPE_HOST(name) |
| #define | PROFILE_SCOPE_BYTES(name, bytes) |
| #define | PROFILE_SCOPE_NAMED(timer, name) |
Functions | |
| double | opennn::profiler::peak_gbps () |
| Stats & | opennn::profiler::stats () |
| std::atomic_bool & | opennn::profiler::detail::enabled_flag () |
| ExitDump & | opennn::profiler::detail::exit_dump () |
| bool | opennn::profiler::is_enabled () noexcept |
| void | opennn::profiler::set_enabled (bool enabled) noexcept |
Macro Definition Documentation
◆ OPENNN_PROFILE_CAT
| #define OPENNN_PROFILE_CAT | ( | a, | |
| b ) |
Value:
OPENNN_PROFILE_CAT_INNER(a, b)
◆ OPENNN_PROFILE_CAT_INNER
| #define OPENNN_PROFILE_CAT_INNER | ( | a, | |
| b ) |
Value:
a##b
◆ PROFILE_SCOPE
| #define PROFILE_SCOPE | ( | name | ) |
Value:
PROFILE_SCOPE_IMPL(name, true)
◆ PROFILE_SCOPE_BYTES
| #define PROFILE_SCOPE_BYTES | ( | name, | |
| bytes ) |
Value:
::opennn::profiler::ScopedTimer OPENNN_PROFILE_CAT(_profile_, __LINE__)( \
::opennn::profiler::is_enabled() ? string(name) : string{}, true, double(bytes))
Definition profiler.h:230
◆ PROFILE_SCOPE_HOST
| #define PROFILE_SCOPE_HOST | ( | name | ) |
Value:
PROFILE_SCOPE_IMPL(name, false)
◆ PROFILE_SCOPE_IMPL
| #define PROFILE_SCOPE_IMPL | ( | name, | |
| sync ) |
Value:
::opennn::profiler::ScopedTimer OPENNN_PROFILE_CAT(_profile_, __LINE__)( \
::opennn::profiler::is_enabled() ? string(name) : string{}, sync)
◆ PROFILE_SCOPE_NAMED
| #define PROFILE_SCOPE_NAMED | ( | timer, | |
| name ) |
Value:
::opennn::profiler::ScopedTimer timer( \