ROCm / MIOpen

AMD's Machine Intelligence Library
https://rocm.docs.amd.com/projects/MIOpen/en/latest/
Other
1.09k stars 231 forks source link

[WA] Disable MLIR when building debug to workaround sanitizer issue #3200

Closed BrianHarrisonAMD closed 3 months ago

BrianHarrisonAMD commented 3 months ago

Update the build pipeline to disable compiling with MLIR when building debug builds.

See relevant PR #3181, PR #3198, and Issue #3192 for additional details.

After a discussion on PR #3198, we want to disable MLIR instead of suppressing the UBSan errors caused by MLIR.

The issue can be tracked down to simply creating the MLIR handle after upgrading to the latest ROCm 6.2. Since we froze MLIR to an older release, suppressing this warning is our only real option.

Note:

Params used when constructing the MLIR handle to replicate, "--x2 1 --operation conv2d --kernel_id 0 --num_cu 104 --arch amdgcn-amd-amdhsa:gfx90a:sramecc+:xnack- --groupsize 1 --fil_layout GNCHW --fil_type fp32 --in_layout NGCHW --out_layout NGCHW --in_type fp32 --out_type fp32 --batchsize 100 --in_channels 25 --out_channels 300 --in_h 32 --in_w 32 --out_h 30 --out_w 30 --fil_h 3 --fil_w 3 --dilation_h 1 --dilation_w 1 --conv_stride_h 1 --conv_stride_w 1 --padding_h 0 --padding_w 0 --kernel_name mlir_gen_igemm_conv2d_v4r4_fwd_xdlops0". Simply creating a handle with those command line arguments will result in the vptr issue when the test application is exiting after upgrading to ROCm 6.2. ROCm 6.2 also updated the version of clang.

BrianHarrisonAMD commented 3 months ago

@atamazov Here is the changed version to disable MLIR if you get a chance to review.

Thanks!