[Openmp-commits] [openmp] b049870 - [libomptarget][amdgpu] Convert an assert to print and offload_fail
Jon Chesterfield via Openmp-commits
openmp-commits at lists.llvm.org
Thu May 13 09:31:45 PDT 2021
Author: Jon Chesterfield
Date: 2021-05-13T17:31:36+01:00
New Revision: b049870d3b47a93b0c53f3ad69b11c4731b39d7f
URL: https://github.com/llvm/llvm-project/commit/b049870d3b47a93b0c53f3ad69b11c4731b39d7f
DIFF: https://github.com/llvm/llvm-project/commit/b049870d3b47a93b0c53f3ad69b11c4731b39d7f.diff
LOG: [libomptarget][amdgpu] Convert an assert to print and offload_fail
[libomptarget][amdgpu] Convert an assert to print and offload_fail
The kernel launched is supposed to be present in the binary, but a not yet
diagnosed bug means it is missing for some of the qmcpack test cases. Changing
from assert to print and offload_fail should help diagnose that and similar bugs.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D102378
Added:
Modified:
openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
Removed:
################################################################################
diff --git a/openmp/libomptarget/plugins/amdgpu/src/rtl.cpp b/openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
index d0c6c2c1ee82c..8c50ac388d9c1 100644
--- a/openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
+++ b/openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
@@ -1764,11 +1764,15 @@ int32_t __tgt_rtl_run_target_team_region_locked(
KernelTy *KernelInfo = (KernelTy *)tgt_entry_ptr;
std::string kernel_name = std::string(KernelInfo->Name);
+ if (KernelInfoTable[device_id].find(kernel_name) ==
+ KernelInfoTable[device_id].end()) {
+ DP("Kernel %s not found\n", kernel_name.c_str());
+ return OFFLOAD_FAIL;
+ }
+
uint32_t sgpr_count, vgpr_count, sgpr_spill_count, vgpr_spill_count;
{
- assert(KernelInfoTable[device_id].find(kernel_name) !=
- KernelInfoTable[device_id].end());
auto it = KernelInfoTable[device_id][kernel_name];
sgpr_count = it.sgpr_count;
vgpr_count = it.vgpr_count;
@@ -1832,8 +1836,6 @@ int32_t __tgt_rtl_run_target_team_region_locked(
packet->completion_signal = {0}; // may want a pool of signals
{
- assert(KernelInfoTable[device_id].find(kernel_name) !=
- KernelInfoTable[device_id].end());
auto it = KernelInfoTable[device_id][kernel_name];
packet->kernel_object = it.kernel_object;
packet->private_segment_size = it.private_segment_size;
More information about the Openmp-commits
mailing list