From 41b9db85e2b15dd1f6a2ef4075e805268ea034bd Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Fri, 16 Sep 2022 11:49:37 +0800 Subject: [PATCH] fix(mgb): make error infomation of advanced indexing out of bound more readable GitOrigin-RevId: 69e6f32e7e071e06bb52ce551e7a3efbeeb34912 --- dnn/src/cuda/indexing_multi_axis_vec/kern_gen_offset_base.cu | 4 ++-- dnn/src/naive/indexing_multi_axis_vec/opr_impl.cpp | 4 +++- dnn/src/rocm/indexing_multi_axis_vec/kern_gen_offset_base.cpp.hip | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/dnn/src/cuda/indexing_multi_axis_vec/kern_gen_offset_base.cu b/dnn/src/cuda/indexing_multi_axis_vec/kern_gen_offset_base.cu index 2bef1bff..4e19b3f1 100644 --- a/dnn/src/cuda/indexing_multi_axis_vec/kern_gen_offset_base.cu +++ b/dnn/src/cuda/indexing_multi_axis_vec/kern_gen_offset_base.cu @@ -36,8 +36,8 @@ __global__ void kgen_offset_base(GenOffsetBaseParam param) { set_async_error_info( param.error_info, param.error_tracker, "invalid advanced indexing: " - "indexer=%d idx=%d shape=%d", - i, data_idx, param.data_shape[i]); + "input index %d is out of bounds for axis %d with size %d", + data_idx, i, param.data_shape[i]); data_idx = 0; } // calculate offset from current index diff --git a/dnn/src/naive/indexing_multi_axis_vec/opr_impl.cpp b/dnn/src/naive/indexing_multi_axis_vec/opr_impl.cpp index cc47abc0..adbe9a30 100644 --- a/dnn/src/naive/indexing_multi_axis_vec/opr_impl.cpp +++ b/dnn/src/naive/indexing_multi_axis_vec/opr_impl.cpp @@ -56,7 +56,9 @@ void do_exec( data_idx += data_shape; megdnn_assert( data_idx >= 0 && static_cast(data_idx) < data_shape, - "bad index value for index %zu at output %zu", i, *index_idx); + "invalid advanced indexing: " + "input index %d is out of bounds for axis %zu with size %zu", + data_idx, i, data_shape); offset += data_stride * data_idx; } for (size_t i = 0; i < nr_nonidx_axes; ++i) { diff --git a/dnn/src/rocm/indexing_multi_axis_vec/kern_gen_offset_base.cpp.hip b/dnn/src/rocm/indexing_multi_axis_vec/kern_gen_offset_base.cpp.hip index 27f51927..4aa072b4 100644 --- a/dnn/src/rocm/indexing_multi_axis_vec/kern_gen_offset_base.cpp.hip +++ b/dnn/src/rocm/indexing_multi_axis_vec/kern_gen_offset_base.cpp.hip @@ -37,8 +37,8 @@ namespace { // cast to uint32 to handle both negative and overflow set_async_error_info(param.error_info, param.error_tracker, "invalid advanced indexing: " - "indexer=%d idx=%d shape=%d", - i, data_idx, param.data_shape[i]); + "input index %d is out of bounds for axis %d with size %d", + data_idx, i, param.data_shape[i]); data_idx = 0; } offset += data_idx * param.data_stride[i];