Merge "Adding dumping of HSA handles" into amd-staging

Dieser Commit ist enthalten in:
Evgeny Shcherbakov
2020-12-02 06:35:04 -05:00
committet von Gerrit Code Review
Commit 6a59675f01
4 geänderte Dateien mit 21 neuen und 1 gelöschten Zeilen
+13
Datei anzeigen
@@ -742,6 +742,19 @@ hsa_status_t HsaRsrcFactory::hsa_executable_freeze_interceptor(hsa_executable_t
return hsa_api_.hsa_executable_freeze(executable, options);;
}
void HsaRsrcFactory::DumpHandles(FILE* file) {
auto beg = agent_map_.begin();
auto end = agent_map_.end();
for (auto it = beg; it != end; ++it) {
const AgentInfo* agent_info = it->second;
fprintf(file, "0x%lx agent %s\n", agent_info->dev_id.handle, (agent_info->dev_type == HSA_DEVICE_TYPE_CPU) ? "cpu" : "gpu");
if (agent_info->cpu_pool.handle != 0) fprintf(file, "0x%lx pool cpu\n", agent_info->cpu_pool.handle);
if (agent_info->kern_arg_pool.handle != 0) fprintf(file, "0x%lx pool cpu kernarg\n", agent_info->kern_arg_pool.handle);
if (agent_info->gpu_pool.handle != 0) fprintf(file, "0x%lx pool gpu\n", agent_info->gpu_pool.handle);
}
fflush(file);
}
std::atomic<HsaRsrcFactory*> HsaRsrcFactory::instance_{};
HsaRsrcFactory::mutex_t HsaRsrcFactory::mutex_;
HsaRsrcFactory::timestamp_t HsaRsrcFactory::timeout_ns_ = HsaTimer::TIMESTAMP_MAX;
+2
Datei anzeigen
@@ -439,6 +439,8 @@ class HsaRsrcFactory {
return HSA_STATUS_SUCCESS;
}
void DumpHandles(FILE* output_file);
private:
// System agents iterating callback
static hsa_status_t GetHsaAgentsCallback(hsa_agent_t agent, void* data);
+1 -1
Datei anzeigen
@@ -44,7 +44,7 @@ endif ()
## Path to HSA test
set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" )
set ( HSA_REV "19b1191" )
set ( HSA_REV "a4fcdae" )
## test run script
set ( RUN_SCRIPT "${TEST_DIR}/run.sh" )
+5
Datei anzeigen
@@ -1127,6 +1127,11 @@ extern "C" PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version,
ROCTRACER_CALL(roctracer_enable_op_activity(ACTIVITY_DOMAIN_HSA_OPS, HSA_OP_ID_RESERVED1));
}
// Dumping HSA handles for agents and pools
FILE* handles_file_handle = open_output_file(output_prefix, "hsa_handles.txt");
HsaRsrcFactory::Instance().DumpHandles(handles_file_handle);
close_output_file(handles_file_handle);
ONLOAD_TRACE_END();
return true;
}