oneDNN icon indicating copy to clipboard operation
oneDNN copied to clipboard

X64: "Error in M_tail_block index, not within range" raised in brgemm_matmul

Open Ryo-not-rio opened this issue 10 months ago • 2 comments

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

Ryo-not-rio avatar Apr 19 '24 13:04 Ryo-not-rio

Hi @Ryo-not-rio, thank you for the report, I can reproduce the problem, will dispatch to the right team.

dzarukin avatar Apr 19 '24 17:04 dzarukin

@Ryo-not-rio - Issue should be addressed. Would it be possible for you to check on your side?

aaraujom avatar May 02 '24 23:05 aaraujom

Resolved by 10ae565

dzarukin avatar May 13 '24 06:05 dzarukin