Skip to content

[SYCL] 2 tests failed with OpenCL CPU RT 2024.17.3.0.09 #13397

@yanfeng3721

Description

@yanfeng3721

Describe the bug

Pre commit testing in #13261 shows the following tests failed with OpenCL CPU RT 2024.17.3.0.09
https://github.com/intel/llvm/actions/runs/8534204587/job/23380576416

Failed Tests :
  SYCL :: Basic/built-ins/marray_geometric.cpp
  SYCL :: KernelCompiler/kernel_compiler_spirv.cpp

To reproduce

  1. SYCL :: Basic/built-ins/marray_geometric.cpp
    Reproducer:
clang++   -fsycl -fsycl-targets=spir64 ~/llvm/sycl/test-e2e/Basic/built-ins/marray_geometric.cpp -o ~/build/Basic/built-ins/Output/marray_geometric.cpp.tmp.out
env ONEAPI_DEVICE_SELECTOR=opencl:cpu ~/build/Basic/built-ins/Output/marray_geometric.cpp.tmp.out

Error log:

# .---command stderr------------
# | terminate called after throwing an instance of 'sycl::_V1::compile_program_error'
# |   what():  The program was built for 1 devices
# | Build program log for 'Intel(R) Xeon(R) CPU E5-2643 v4 @ 3.40GHz':
# | Compilation started
# | Compilation done
# | Linking started
# | Linking done
# | Device build started
# | Options used by backend compiler: 
# | Failed to build device program
# | CompilerException Failed to lookup symbol _ZTSZZ4testIZ4mainEUlDpT_E_N4sycl3_V16marrayINS4_6detail9half_impl4halfELm3EEEJS9_S9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_
# | JIT session error: Symbols not found: [ _Z3dotDv2_DhS_, _Z3dotDv3_DhS_, _Z3dotDv4_DhS_, _Z5crossDv3_DhS_, _Z5crossDv4_DhS_, _Z6lengthDv2_Dh, _Z6lengthDv3_Dh, _Z6lengthDv4_Dh, _Z8distanceDv2_DhS_, _Z8distanceDv3_DhS_, _Z8distanceDv4_DhS_, _Z9normalizeDv2_Dh, _Z9normalizeDv3_Dh, _Z9normalizeDv4_Dh ]
# | Failed to materialize symbols: { (main, { _ZTSZZ4testIZ4mainEUlDpT_E5_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm2EEES9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E23_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm2EEES9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E32_N4sycl3_V16marrayINS4_6detail9half_impl4halfELm2EEEJS9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E15_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm3EEEEEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E7_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm4EEES9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E33_N4sycl3_V16marrayINS4_6detail9half_impl4halfELm3EEEJS9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E24_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm3EEES9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E6_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm3EEES9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E25_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm4EEES9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E_N4sycl3_V16marrayINS4_6detail9half_impl4halfELm3EEEJS9_S9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E34_N4sycl3_V16marrayINS4_6detail9half_impl4halfELm4EEEJS9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, half_const_signMask, _ZTSZZ4testIZ4mainEUlDpT_E14_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm2EEEEEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E0_N4sycl3_V16marrayINS4_6detail9half_impl4halfELm4EEEJS9_S9_EEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_, _ZTSZZ4testIZ4mainEUlDpT_E16_N4sycl3_V16detail9half_impl4halfEJNS4_6marrayIS7_Lm4EEEEEvbdT_T0_DpT1_ENKUlRNS4_7handlerEE_clESF_EUlvE_ }) }
# | 
# |  -11 (PI_ERROR_BUILD_PROGRAM_FAILURE)
# `-----------------------------
# error: command failed with exit status: -6
  1. SYCL :: KernelCompiler/kernel_compiler_spirv.cpp
    Reproducer:
clang++   -fsycl -fsycl-targets=spir64 ~/llvm/sycl/test-e2e/KernelCompiler/kernel_compiler_spirv.cpp -o ~/build/KernelCompiler/Output/kernel_compiler_spirv.cpp.tmp.out
env ONEAPI_DEVICE_SELECTOR=opencl:cpu  ~/build/KernelCompiler/Output/kernel_compiler_spirv.cpp.tmp.out ~/llvm/sycl/test-e2e/KernelCompiler/Kernels/kernels.spv ~/llvm/sycl/test-e2e/KernelCompiler/Kernels/kernels_fp16.spv ~/llvm/sycl/test-e2e/KernelCompiler/Kernels/kernels_fp64.spv

Error log:

# .---command stderr------------
# | terminate called after throwing an instance of 'sycl::_V1::runtime_error'
# |   what():  Native API failed. Native API returns: -999 (Unknown PI error) -999 (Unknown PI error)
# `-----------------------------
# error: command failed with exit status: -6

Environment

OS: Linux
Target device and vendor: OpenCL CPU RT
DPC++ version: intel/llvm https://github.com/intel/llvm/commit/73d34739bff5848cca075fbec415e06f67848efe
OpenCL CPURT version: [opencl:cpu][opencl:1] Intel(R) OpenCL, 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz OpenCL 3.0 (Build 0) [2024.17.3.0.09_160000]

Additional context

No action required now for sycl compiler, it is a known OpenCL CPURT regression and will fixed for the next uplift plan.
Will add those 2 tests as XFAIL in 0718010

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions