diff --git a/projects/rocprofiler-systems/docker/Dockerfile.opensuse b/projects/rocprofiler-systems/docker/Dockerfile.opensuse index a7438aa8d0..1fb5a143d2 100644 --- a/projects/rocprofiler-systems/docker/Dockerfile.opensuse +++ b/projects/rocprofiler-systems/docker/Dockerfile.opensuse @@ -24,7 +24,6 @@ ARG AMDGPU_RPM=latest/sle/15/amdgpu-install-21.50.50000-1.noarch.rpm RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \ zypper --no-gpg-checks install -y https://repo.radeon.com/amdgpu-install/${AMDGPU_RPM} && \ - zypper addrepo https://download.opensuse.org/repositories/devel:languages:perl/SLE_15/devel:languages:perl.repo && \ zypper --non-interactive --gpg-auto-import-keys refresh && \ amdgpu-install --usecase=rocm,hip,hiplibsdk --no-dkms -y && \ zypper install -y rocm-hip-sdk rocm-smi-lib roctracer-dev rocprofiler-dev rccl-devel && \ diff --git a/projects/rocprofiler-systems/source/lib/omnitrace/library.cpp b/projects/rocprofiler-systems/source/lib/omnitrace/library.cpp index b9da944497..1e3cbe805c 100644 --- a/projects/rocprofiler-systems/source/lib/omnitrace/library.cpp +++ b/projects/rocprofiler-systems/source/lib/omnitrace/library.cpp @@ -962,7 +962,7 @@ omnitrace_finalize_hidden(void) tim::timemory_finalize(_timemory_manager.get()); auto _cfg = settings::compose_filename_config{}; - _cfg.use_suffix = true; + _cfg.use_suffix = config::get_use_pid(); _timemory_manager->write_metadata(settings::get_global_output_prefix(), "omnitrace", _cfg); } diff --git a/projects/rocprofiler-systems/source/lib/omnitrace/library/components/roctracer.cpp b/projects/rocprofiler-systems/source/lib/omnitrace/library/components/roctracer.cpp index 8466cdabf6..7c9f412757 100644 --- a/projects/rocprofiler-systems/source/lib/omnitrace/library/components/roctracer.cpp +++ b/projects/rocprofiler-systems/source/lib/omnitrace/library/components/roctracer.cpp @@ -155,15 +155,24 @@ roctracer::setup() "invalid domain ID(4) in: roctracer_enable_activity()" }; #endif - OMNITRACE_ROCTRACER_CALL(roctracer_enable_domain_callback(ACTIVITY_DOMAIN_HIP_API, - hip_api_callback, nullptr)); + if(get_trace_hip_api()) + { + OMNITRACE_ROCTRACER_CALL(roctracer_enable_domain_callback( + ACTIVITY_DOMAIN_HIP_API, hip_api_callback, nullptr)); + } + if(get_use_roctx()) { OMNITRACE_ROCTRACER_CALL(roctracer_enable_domain_callback( ACTIVITY_DOMAIN_ROCTX, roctx_api_callback, nullptr)); } - // Enable HIP activity tracing - OMNITRACE_ROCTRACER_CALL(roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)); + + if(get_trace_hip_activity()) + { + // Enable HIP activity tracing + OMNITRACE_ROCTRACER_CALL( + roctracer_enable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)); + } // callback for HSA for(auto& itr : roctracer_setup_routines()) @@ -212,14 +221,31 @@ roctracer::shutdown() }; #endif - // OMNITRACE_ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); - OMNITRACE_VERBOSE_F( - 2, "executing roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)...\n"); - OMNITRACE_ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); + if(get_trace_hip_api()) + { + OMNITRACE_VERBOSE_F( + 2, + "executing roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)...\n"); + OMNITRACE_ROCTRACER_CALL( + roctracer_disable_domain_callback(ACTIVITY_DOMAIN_HIP_API)); + } - OMNITRACE_VERBOSE_F( - 2, "executing roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)...\n"); - OMNITRACE_ROCTRACER_CALL(roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)); + if(get_use_roctx()) + { + OMNITRACE_VERBOSE_F( + 2, "executing roctracer_disable_domain_activity(ACTIVITY_DOMAIN_ROCTX)...\n"); + OMNITRACE_ROCTRACER_CALL( + roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX)); + } + + if(get_trace_hip_activity()) + { + OMNITRACE_VERBOSE_F( + 2, + "executing roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)...\n"); + OMNITRACE_ROCTRACER_CALL( + roctracer_disable_domain_activity(ACTIVITY_DOMAIN_HIP_OPS)); + } if(roctracer_activity_count() == 0) { diff --git a/projects/rocprofiler-systems/source/lib/omnitrace/library/config.cpp b/projects/rocprofiler-systems/source/lib/omnitrace/library/config.cpp index ecd48f1b3e..c9b1563186 100644 --- a/projects/rocprofiler-systems/source/lib/omnitrace/library/config.cpp +++ b/projects/rocprofiler-systems/source/lib/omnitrace/library/config.cpp @@ -561,6 +561,14 @@ configure_settings(bool _init) std::to_string(_sigrt_range), 0, "sampling", "advanced"); + OMNITRACE_CONFIG_SETTING(bool, "OMNITRACE_ROCTRACER_HIP_API", + "Enable HIP API tracing support", true, "roctracer", "rocm", + "advanced"); + + OMNITRACE_CONFIG_SETTING(bool, "OMNITRACE_ROCTRACER_HIP_ACTIVITY", + "Enable HIP activity tracing support", true, "roctracer", + "rocm", "advanced"); + OMNITRACE_CONFIG_SETTING(bool, "OMNITRACE_ROCTRACER_HSA_ACTIVITY", "Enable HSA activity tracing support", false, "roctracer", "rocm", "advanced"); @@ -1741,6 +1749,20 @@ get_sampling_rtoffset() return static_cast&>(*_v->second).get(); } +bool +get_trace_hip_api() +{ + static auto _v = get_config()->find("OMNITRACE_ROCTRACER_HIP_API"); + return static_cast&>(*_v->second).get(); +} + +bool +get_trace_hip_activity() +{ + static auto _v = get_config()->find("OMNITRACE_ROCTRACER_HIP_ACTIVITY"); + return static_cast&>(*_v->second).get(); +} + bool get_trace_hsa_api() { diff --git a/projects/rocprofiler-systems/source/lib/omnitrace/library/config.hpp b/projects/rocprofiler-systems/source/lib/omnitrace/library/config.hpp index 74fd3cf74d..5c4c86b8dc 100644 --- a/projects/rocprofiler-systems/source/lib/omnitrace/library/config.hpp +++ b/projects/rocprofiler-systems/source/lib/omnitrace/library/config.hpp @@ -220,6 +220,12 @@ get_sampling_rtoffset(); bool get_use_rcclp(); +bool +get_trace_hip_api(); + +bool +get_trace_hip_activity(); + bool get_trace_hsa_api();