From d33975d6e8df6e585278b213396cb083b4b6e8cc Mon Sep 17 00:00:00 2001 From: Siu Chi Chan Date: Thu, 28 Nov 2019 14:00:48 -0500 Subject: [PATCH] add error checking for code object loading --- hipamd/src/program_state.inl | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/hipamd/src/program_state.inl b/hipamd/src/program_state.inl index 993418de96..3a1052ccad 100644 --- a/hipamd/src/program_state.inl +++ b/hipamd/src/program_state.inl @@ -398,13 +398,19 @@ public: move(file), move(tmp)); } - hsa_code_object_reader_create_from_memory( - it->first.data(), it->first.size(), it->second.get()); + auto check_hsa_error = [](hsa_status_t s) { + if (s != HSA_STATUS_SUCCESS) { + hip_throw(std::runtime_error{"error when loading code object"}); + } + }; - hsa_executable_load_agent_code_object( - executable, agent, *it->second, nullptr, nullptr); + check_hsa_error(hsa_code_object_reader_create_from_memory( + it->first.data(), it->first.size(), it->second.get())); - hsa_executable_freeze(executable, nullptr); + check_hsa_error(hsa_executable_load_agent_code_object( + executable, agent, *it->second, nullptr, nullptr)); + + check_hsa_error(hsa_executable_freeze(executable, nullptr)); }