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 <svaddire@amd.com>

[ROCm/rocprofiler-sdk commit: d1e9e3917e]
Tento commit je obsažen v:
Vaddireddy, Sushma
2025-04-21 13:33:37 -07:00
odevzdal GitHub
rodič ef8b185a04
revize 720441bde2
2 změnil soubory, kde provedl 11 přidání a 4 odebrání
+4 -1
Zobrazit soubor
@@ -689,6 +689,9 @@ read_topology()
{
constexpr auto workgrp_max = 1024;
constexpr auto grid_max = std::numeric_limits<uint32_t>::max();
constexpr auto grid_max_x = std::numeric_limits<int32_t>::max();
constexpr auto grid_max_y = std::numeric_limits<uint16_t>::max();
constexpr auto grid_max_z = std::numeric_limits<uint16_t>::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)
+7 -3
Zobrazit soubor
@@ -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<int32_t>::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