SYCL-CTS build failure in SYCL Nightly
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
@KornevNikita FYI
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.
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.
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.
@uditagarwal97 it looks like everything is ok with the last run. Should we close this issue?