From 720441bde297d3d9ecde40e2f6de44a2d15f9f5e Mon Sep 17 00:00:00 2001 From: "Vaddireddy, Sushma" Date: Mon, 21 Apr 2025 13:33:37 -0700 Subject: [PATCH] Grid dimensions update (#329) * Grid dimensions update * minor edit * CI compilation fix * Adding target_compile_definitions * Updating changes as per suggestions * Skip checks for older grid dimension values --------- Co-authored-by: Sushma Vaddireddy [ROCm/rocprofiler-sdk commit: d1e9e3917e3a2319e41c19e6c78785dd56c7c9ee] --- .../source/lib/rocprofiler-sdk/agent.cpp | 5 ++++- .../source/lib/rocprofiler-sdk/tests/agent.cpp | 10 +++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/agent.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/agent.cpp index 5482c61ca0..bf4373c597 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/agent.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/agent.cpp @@ -689,6 +689,9 @@ read_topology() { constexpr auto workgrp_max = 1024; constexpr auto grid_max = std::numeric_limits::max(); + constexpr auto grid_max_x = std::numeric_limits::max(); + constexpr auto grid_max_y = std::numeric_limits::max(); + constexpr auto grid_max_z = std::numeric_limits::max(); read_property(properties, "unique_id", agent_info.uuid.value); read_property( @@ -702,7 +705,7 @@ read_topology() agent_info.workgroup_max_size = workgrp_max; // hardcoded in hsa-runtime agent_info.workgroup_max_dim = {workgrp_max, workgrp_max, workgrp_max}; agent_info.grid_max_size = grid_max; // hardcoded in hsa-runtime - agent_info.grid_max_dim = {grid_max, grid_max, grid_max}; + agent_info.grid_max_dim = {grid_max_x, grid_max_y, grid_max_z}; agent_info.cu_count = agent_info.simd_count / agent_info.simd_per_cu; if(int drm_fd = 0; (drm_fd = drmOpenRender(agent_info.drm_render_minor)) >= 0) diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/agent.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/agent.cpp index 9723267674..af071307bb 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/agent.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/agent.cpp @@ -266,9 +266,13 @@ TEST(rocprofiler_lib, agent) EXPECT_EQ(agent->workgroup_max_dim.y, hsa_agent->workgroup_max_dim[1]) << msg; EXPECT_EQ(agent->workgroup_max_dim.z, hsa_agent->workgroup_max_dim[2]) << msg; EXPECT_EQ(agent->grid_max_size, hsa_agent->grid_max_size) << msg; - EXPECT_EQ(agent->grid_max_dim.x, hsa_agent->grid_max_dim.x) << msg; - EXPECT_EQ(agent->grid_max_dim.y, hsa_agent->grid_max_dim.y) << msg; - EXPECT_EQ(agent->grid_max_dim.z, hsa_agent->grid_max_dim.z) << msg; + // Skip the checks for older grid x, y, z dimension values. + if(hsa_agent->grid_max_dim.x == std::numeric_limits::max()) + { + EXPECT_EQ(agent->grid_max_dim.x, hsa_agent->grid_max_dim.x) << msg; + EXPECT_EQ(agent->grid_max_dim.y, hsa_agent->grid_max_dim.y) << msg; + EXPECT_EQ(agent->grid_max_dim.z, hsa_agent->grid_max_dim.z) << msg; + } if(agent->type == ROCPROFILER_AGENT_TYPE_GPU) { // HSA lib doesn't set family ID for CPU-only but we do