Roctracer perfetto flow fixes (#267)
* testing label updates
- automatically add "gpu", "roctracer", "rocm-smi", and "rocprofiler" test labels when appropriate
* Bump version to v1.9.1
* roctracer and config updates
- fix perfetto::Flow
- use roctracer correlation ID instead of critical trace correlation ID
- renamed ambiguous _cid, _parent_cid, _corr_id variables to _crit_cid, _parent_crit_cid, _roct_cid
- use atomic_{mutex,lock} instead of STL mutex/lock
- support for individual perfetto annotations for HIP API args
- OMNITRACE_PERFETTO_COMPACT_ROCTRACER_ANNOTATIONS option for controlling compact vs. individual perfetto annotations for HIP API args
* Update timemory submodule
- argparser updates
- help prints to std::cout by default now
- supports setting custom ostream
* cmake formatting
* config::get_setting_value updates
- config::get_setting_value returns std::optional instead of std::pair<bool, Tp>
[ROCm/rocprofiler-systems commit: 279a8e0952]
This commit is contained in:
committed by
GitHub
orang tua
b1f52afeaf
melakukan
a1213480e0
@@ -406,11 +406,7 @@ configure_settings(bool _init)
|
||||
"durations are needed, see OMNITRACE_TRACE_PERIODS.",
|
||||
0.0, "trace", "profile", "perfetto", "timemory");
|
||||
|
||||
auto _clock_s =
|
||||
config::get_setting_value<std::string>("OMNITRACE_TRACE_PERIOD_CLOCK_ID").second;
|
||||
|
||||
auto _clock_choices = std::vector<std::string>{};
|
||||
|
||||
for(const auto& itr : constraint::get_valid_clock_ids())
|
||||
{
|
||||
_clock_choices.emplace_back(
|
||||
@@ -696,6 +692,18 @@ configure_settings(bool _init)
|
||||
"feature may dramatically reduce the size of the trace",
|
||||
true, "perfetto", "data", "debugging", "advanced");
|
||||
|
||||
OMNITRACE_CONFIG_SETTING(
|
||||
bool, "OMNITRACE_PERFETTO_COMPACT_ROCTRACER_ANNOTATIONS",
|
||||
"When PERFETTO_ANNOTATIONS, USE_ROCTRACER, and ROCTRACER_HIP_API are all "
|
||||
"enabled, enabling this option will result in the arg information for HIP API "
|
||||
"calls to all be within one annotation (e.g., args=\"stream=0x0, dst=0x1F, "
|
||||
"sizeBytes=64, src=0x08, kind=1\"). When disabled, each parameter will be an "
|
||||
"individual annotation (e.g. stream, dst, sizeBytes, etc.). The benefit of the "
|
||||
"former is that it is faster to serialize and consumes less file space; the "
|
||||
"benefit of the latter is that it becomes much easier to find slices in the "
|
||||
"trace with the same value",
|
||||
false, "perfetto", "data", "debugging", "roctracer", "rocm", "advanced");
|
||||
|
||||
OMNITRACE_CONFIG_SETTING(
|
||||
uint64_t, "OMNITRACE_THREAD_POOL_SIZE",
|
||||
"Max number of threads for processing background tasks",
|
||||
@@ -1095,7 +1103,7 @@ configure_mode_settings(const std::shared_ptr<settings>& _config)
|
||||
}
|
||||
else
|
||||
{
|
||||
bool _changed = get_setting_value<bool>(_name).second != _v;
|
||||
bool _changed = get_setting_value<bool>(_name).value_or(!_v) != _v;
|
||||
OMNITRACE_BASIC_VERBOSE(
|
||||
1 && _changed,
|
||||
"[configure_mode_settings] Overriding %s to %s in %s mode...\n",
|
||||
@@ -1105,7 +1113,7 @@ configure_mode_settings(const std::shared_ptr<settings>& _config)
|
||||
};
|
||||
|
||||
auto _use_causal = get_setting_value<bool>("OMNITRACE_USE_CAUSAL");
|
||||
if(_use_causal.first && _use_causal.second) set_env("OMNITRACE_MODE", "causal", 1);
|
||||
if(_use_causal && *_use_causal) set_env("OMNITRACE_MODE", "causal", 1);
|
||||
|
||||
if(get_mode() == Mode::Coverage)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user