Adding new trace decoder record types and new ATT parameters (#195)

* Adding new trace decoder record types and new ATT parameters

* Add compatiblity with decoder 0.1.2

* Added RT

* Format

* Add logging to sdata values

* Review comment

* Review comments

* Update projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/thread-trace/trace_decoder_types.h
This commit is contained in:
Giovanni Lenzi Baraldi authored and GitHub committed 2025-08-12 14:31:12 +02:00
1 parent 83971da05e
commit cb77f5af5c
13 file changed
+213 -86

No files matched your search

@@ -103,7 +103,7 @@ query_available_agents(rocprofiler_agent_version_t /* version */,
if(agent->type != ROCPROFILER_AGENT_TYPE_GPU) continue;
// Check if we are testing for large buffers
static const char* var = getenv("ATT_BUFFER_SIZE_MB");
static const char* var = std::getenv("ATT_BUFFER_SIZE_MB");
static uint64_t buffer_size_mb = (var ? atoi(var) : 96) * 1024ul * 1024ul;
std::vector<rocprofiler_thread_trace_parameter_t> parameters;
@@ -111,7 +111,15 @@ query_available_agents(rocprofiler_agent_version_t /* version */,
parameters.push_back({ROCPROFILER_THREAD_TRACE_PARAMETER_SIMD_SELECT, 0xF});
parameters.push_back({ROCPROFILER_THREAD_TRACE_PARAMETER_BUFFER_SIZE, buffer_size_mb});
parameters.push_back({ROCPROFILER_THREAD_TRACE_PARAMETER_SHADER_ENGINE_MASK, 0x1});
parameters.push_back({ROCPROFILER_THREAD_TRACE_PARAMETER_SERIALIZE_ALL, 0});
static const bool extra_args =
std::getenv("ATT_NODETAIL") ? std::stoi(std::getenv("ATT_NODETAIL")) != 0 : false;
if(extra_args)
{
// Dont generate instruction profiling, only occupancy and shaderdata
parameters.emplace_back(rocprofiler_thread_trace_parameter_t{
ROCPROFILER_THREAD_TRACE_PARAMETER_NO_DETAIL, 1});
}
ROCPROFILER_CALL(
rocprofiler_configure_device_thread_trace_service(agent_ctx,