kokkosp update: disable deep copy tracing by default (#286)

kokkosp update

- disable tracing deep copies by default because inconsistent begin/end corrupts call-stack hierarchy
- tracing deep copy operations can be enabled via `OMNITRACE_KOKKOSP_DEEP_COPY`

[ROCm/rocprofiler-systems commit: 262f1e9299]
This commit is contained in:
Jonathan R. Madsen
2023-06-15 17:55:38 -05:00
gecommit door GitHub
bovenliggende a527ebcf4e
commit 973f5bc348
2 gewijzigde bestanden met toevoegingen van 14 en 3 verwijderingen
@@ -344,6 +344,11 @@ configure_settings(bool _init)
"Set to [kokkos] to maintain old naming convention", "",
"kokkos", "debugging", "advanced");
OMNITRACE_CONFIG_SETTING(
bool, "OMNITRACE_KOKKOSP_DEEP_COPY",
"Enable tracking deep copies (warning: may corrupt flamegraph in perfetto)",
false, "kokkos", "advanced");
OMNITRACE_CONFIG_SETTING(bool, "OMNITRACE_USE_OMPT",
"Enable support for OpenMP-Tools", false, "openmp", "ompt",
"backend");
@@ -88,9 +88,10 @@ setup_kernel_logger()
namespace
{
bool _standalone_initialized = false;
std::vector<std::string> _initialize_arguments = {};
bool _kp_deep_copy = false;
size_t _name_len_limit = 0;
std::string _kp_prefix = {};
std::vector<std::string> _initialize_arguments = {};
template <typename Tp>
void
@@ -273,6 +274,10 @@ extern "C"
_kp_prefix =
omnitrace::config::get_setting_value<std::string>("OMNITRACE_KOKKOSP_PREFIX")
.value_or(_kp_prefix);
_kp_deep_copy =
omnitrace::config::get_setting_value<bool>("OMNITRACE_KOKKOSP_DEEP_COPY")
.value_or(_kp_deep_copy);
}
void kokkosp_finalize_library()
@@ -490,8 +495,8 @@ extern "C"
const void* dst_ptr, SpaceHandle src_handle,
const char* src_name, const void* src_ptr, uint64_t size)
{
if(!_kp_deep_copy || omnitrace::config::get_use_causal()) return;
if(violates_name_rules(dst_name, src_name)) return;
if(omnitrace::config::get_use_causal()) return;
OMNITRACE_SCOPED_THREAD_STATE(ThreadState::Internal);
kokkosp::logger_t{}.mark(1, __FUNCTION__, dst_handle.name, dst_name,
@@ -512,7 +517,8 @@ extern "C"
void kokkosp_end_deep_copy()
{
if(omnitrace::config::get_use_causal()) return;
if(!_kp_deep_copy || omnitrace::config::get_use_causal()) return;
OMNITRACE_SCOPED_THREAD_STATE(ThreadState::Internal);
kokkosp::logger_t{}.mark(-1, __FUNCTION__);
auto& _data = kokkosp::get_profiler_stack<kokkosp_region>();