oneDNN
oneDNN copied to clipboard
X64: "Error in M_tail_block index, not within range" raised in brgemm_matmul
Summary
When running ./tests/benchdnn/benchdnn --matmul --dt=s8:s8:s32 --stag=ab --wtag=ab --dtag=ab --runtime_dims_masks=1:0 --attr-post-ops=sum 3x20:20x4_n"postops+runtime_dims_2d"
, the test fails with the error message Assertion
!"Error in M_tail_block index, not within range."'`. This seems to be an issue specifically with brgemm_matmul as the test passes on aarch64 and the fallback kernels on X64.
Version
oneDNN v3.5.0 (commit 3ce59ef855fb8f16f6b292f427a139ac852f0efd)
Environment
- CPU make and model - Intel(R) Xeon(R) Platinum 8488C
- OS version - 22.04.2-Ubuntu
- Compiler version - gcc (Ubuntu 13.1.0-8ubuntu1~22.04) 13.1.0
- CMake version - 3.22.1
- CMake output log - CMakeOutput.log
- git hash - 3ce59ef855fb8f16f6b292f427a139ac852f0efd
Steps to reproduce
Run DNNL_VERBOSE=1 ./tests/benchdnn/benchdnn --matmul --dt=s8:s8:s32 --stag=ab --wtag=ab --dtag=ab --runtime_dims_masks=1:0 --attr-post-ops=sum 3x20:20x4_n"postops+runtime_dims_2d"
Observed behavior
Test fails with the following logs:
onednn_verbose,info,oneDNN v3.5.0 (commit 3ce59ef855fb8f16f6b292f427a139ac852f0efd)
onednn_verbose,info,cpu,runtime:OpenMP,nthr:32
onednn_verbose,info,cpu,isa:Intel AVX-512 with float16, Intel DL Boost and bfloat16 support and Intel AMX with bfloat16 and 8-bit integer support
onednn_verbose,info,gpu,runtime:none
onednn_verbose,info,graph,backend,0:dnnl_backend
onednn_verbose,primitive,info,template:operation,engine,primitive,implementation,prop_kind,memory_descriptors,attributes,auxiliary,problem_desc,exec_time
onednn_verbose,graph,info,template:operation,engine,partition_id,partition_kind,op_names,data_formats,logical_tensors,fpmath_mode,backend,exec_time
onednn_verbose,primitive,exec,cpu,reorder,jit:uni,undef,src_f32::blocked:ab::f0 dst_s32::blocked:ab::f0,,,3x4,0.00585938
onednn_verbose,primitive,exec,cpu,reorder,simple:any,undef,src_f32::blocked:ab::f0 dst_f32::blocked:ab::f0,,,3x4,0.602051
onednn_verbose,primitive,exec,cpu,reorder,jit:uni,undef,src_f32::blocked:ab::f0 dst_s8::blocked:ab::f0,,,20x4,0.00415039
onednn_verbose,primitive,exec,cpu,reorder,brgemm_matmul_matrix_B_reorder_t,undef,src_f32::blocked:ab::f0 dst_f32:p:blocked:BA16a64b::f0,,,20x4,0.0180664
onednn_verbose,primitive,exec,cpu,reorder,jit:uni,undef,src_f32::blocked:ab::f0 dst_s8::blocked:ab::f0,,,3x20,0.00195312
onednn_verbose,primitive,exec,cpu,reorder,simple:any,undef,src_f32::blocked:ab::f0 dst_f32::blocked:ab::f0,,,3x20,0.00805664
benchdnn: /home/ubuntu/oneDNN/src/cpu/x64/matmul/brgemm_matmul.cpp:1702: int dnnl::impl::cpu::x64::matmul::brgemm_matmul_t<isa>::brg_matmul_exec_ctx_t::get_M_tail_block_idx(int) const [with dnnl::impl::cpu::x64::cpu_isa_t isa = dnnl::impl::cpu::x64::avx10_1_512_amx]: Assertion `!"Error in M_tail_block index, not within range."' failed.
Aborted (core dumped)
Expected behavior
Test passes
Hi @Ryo-not-rio, thank you for the report, I can reproduce the problem, will dispatch to the right team.
@Ryo-not-rio - Issue should be addressed. Would it be possible for you to check on your side?
Resolved by 10ae565