rocprofler_iterate_info workaround v2 (#271)
Revert agent_info->dev_index in hsa_rsrc_factory.cpp - disable using the driver_node_id and, instead, start at zero because it breaks the lookup for rocprofiler_pool_fetch lookup in rocprofiler.cpp. On my system (one AMD GPU and one NVIDIA GPU), it has a value of 1, not 0 and the pool size is 1 -- resulting in segfault
This commit is contained in:
committed by
GitHub
szülő
4ed5f3e67b
commit
ab8894082b
@@ -467,12 +467,17 @@ HsaRsrcFactory::AddAgentInfo(const hsa_agent_t agent)
|
||||
agent_info->vgpr_block_size = 4;
|
||||
|
||||
// Set GPU index
|
||||
uint32_t driver_node_id;
|
||||
/*uint32_t driver_node_id;
|
||||
status = hsa_api_.hsa_agent_get_info(
|
||||
agent, static_cast<hsa_agent_info_t>(HSA_AMD_AGENT_INFO_DRIVER_NODE_ID),
|
||||
&driver_node_id);
|
||||
CHECK_STATUS("hsa_agent_get_info(gpu hsa_driver_node_id)", status);
|
||||
agent_info->dev_index = driver_node_id;
|
||||
agent_info->dev_index = driver_node_id;*/
|
||||
// disable this change above (found in the rocprofiler library)
|
||||
// because it breaks the lookup for rocprofiler_pool_fetch
|
||||
// lookup in rocprofiler.cpp. On my system (one AMD GPU and one NVIDIA GPU),
|
||||
// it has a value of 1, not 0 and the pool size is 1
|
||||
agent_info->dev_index = gpu_list_.size();
|
||||
gpu_list_.push_back(agent_info);
|
||||
gpu_agents_.push_back(agent);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user