diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/stream_stack.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/stream_stack.cpp index e63309a264..491eb92249 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/stream_stack.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/stream_stack.cpp @@ -44,6 +44,12 @@ get_stream_stack() } } // namespace +bool +stream_stack_not_null() +{ + return get_stream_stack() != nullptr; +} + void push_stream_id(rocprofiler_stream_id_t id) { diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/stream_stack.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/stream_stack.hpp index c4f3cfb66a..bbd1798506 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/stream_stack.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/stream_stack.hpp @@ -30,6 +30,9 @@ namespace tool { namespace stream { +bool +stream_stack_not_null(); + rocprofiler_stream_id_t get_stream_id(); diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/tool.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/tool.cpp index 660ef79a12..00c80ec8e4 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/tool.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/tool.cpp @@ -490,7 +490,8 @@ set_kernel_rename_and_stream_correlation_id(rocprofiler_thread_id_t thr_id, tool::get_config().kernel_rename && thread_dispatch_rename != nullptr && !thread_dispatch_rename->empty(); - const bool hip_stream_enabled = !tool::get_config().group_by_queue; + const bool hip_stream_enabled = + !tool::get_config().group_by_queue && rocprofiler::tool::stream::stream_stack_not_null(); if(!kernel_rename_service_enabled && !hip_stream_enabled) return 1; diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/stream.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/stream.cpp index 577b11d009..c2a74eb401 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/stream.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/stream.cpp @@ -109,7 +109,12 @@ auto get_stream_id(hipStream_t stream) { return get_stream_map()->rlock( - [](const stream_map_t& _data, hipStream_t _stream) { return _data.at(_stream); }, stream); + [](const stream_map_t& _data, hipStream_t _stream) { + ROCP_ERROR_IF(_data.count(_stream) == 0) + << "failed to retrieve stream ID in " << __FILE__; + return _data.at(_stream); + }, + stream); } // Map rocprofiler_hip_stream_operation_t to respective name