llvm icon indicating copy to clipboard operation
llvm copied to clipboard

SYCL-CTS build failure in SYCL Nightly

Open uditagarwal97 opened this issue 1 year ago • 4 comments

Describe the bug

Run: https://github.com/intel/llvm/actions/runs/9019645870/job/24786062887

FAILED: bin/test_group_functions 

 /__w/llvm/llvm/toolchain/bin/clang++ -DSYCL2020_CONFORMANT_APIS -fpreview-breaking-changes -DSYCL2020_DISABLE_DEPRECATION_WARNINGS -D__SYCL_DISABLE_PARALLEL_FOR_RANGE_ROUNDING__ -ffp-model=precise     -flink-huge-device-code  -fsycl -sycl-std=2020 -fno-sycl-id-queries-fit-in-int tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_barrier.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_broadcast.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_broadcast_fp16.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_broadcast_fp64.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_of.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_permute.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_permute_fp16.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_permute_fp64.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_shift.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_shift_fp16.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_shift_fp64.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_trait.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_scan_char.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_scan_int.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_scan_float.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_scan_double.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_scan_sycl__half.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_scan_over_group_char.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_scan_over_group_int.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_scan_over_group_float.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_scan_over_group_double.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_scan_over_group_sycl__half.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_reduce_char.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_reduce_int.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_reduce_float.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_reduce_double.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_joint_reduce_sycl__half.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_reduce_over_group_char.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_reduce_over_group_int.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_reduce_over_group_float.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_reduce_over_group_double.cpp.o tests/group_functions/CMakeFiles/test_group_functions_objects.dir/group_reduce_over_group_sycl__half.cpp.o tests/common/CMakeFiles/main_function_object.dir/main.cpp.o -o bin/test_group_functions  util/libutil.a  oclmath/liboclmath.a  vendor/Catch2/src/libCatch2.a

InvalidBitWidth: Invalid bit width in input: 40
llvm-foreach: 
clang++: error: llvm-spirv command failed with exit code 10 (use -v to see invocation)

Affected CTS:

FAILED: bin/test_group_functions 
FAILED: bin/test_vector_api 
FAILED: bin/test_reduction 

To reproduce

DPC++ commit: 4b9819f0b6bf50da03ddc9987918c8d6e09ee757

Environment

No response

Additional context

No response

uditagarwal97 avatar May 10 '24 03:05 uditagarwal97

@KornevNikita FYI

uditagarwal97 avatar May 10 '24 04:05 uditagarwal97

It looks like this could relate to https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/481 see also https://github.com/JuliaGPU/oneAPI.jl/issues/55 I don't know why the change to gcc12 seems to have caused this to suddenly be a problem.

JackAKirk avatar May 10 '24 13:05 JackAKirk

There's a few possible options. Since gcc11 is the default for 22.04, I can see that it might make the most sense to use this version in the CI. It is unfortunate that currently gcc12 is required to build rocm on 22.04 https://github.com/ROCm/ROCm/issues/2949 which motivated this uplift.

If desired I could change the docker image to use gcc12 only when building rocm (but not dpc++). I think this is likely to work. I suppose another alternative would be to skip gcc12 and try gcc13.

It does seem like there may be an underlying spirv issue though that someone may want to look into: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/481 I imagine you will want to support gcc12.

JackAKirk avatar May 10 '24 14:05 JackAKirk

Also since the nightly has been broken for a while, the uplift to gcc12 may have nothing to do with this spirv issue. I suppose I could confirm this by changing back to the previous image that didn't use gcc12/updated rocm. I will try some things locally in the docker.

JackAKirk avatar May 10 '24 14:05 JackAKirk

@uditagarwal97 it looks like everything is ok with the last run. Should we close this issue?

KornevNikita avatar May 13 '24 08:05 KornevNikita