Open bader opened 1 year ago
@stdale-intel, could you find someone to investigate failures for these tests (we have owners for other two tests):
First three tests are failing only on CPU device with the same error message: __devicelib_ConvertBF16ToFINTEL [passing parameter 1 with incompatible type]
, so I think the root cause is the same for all three tests.
@cperkinsintel and @againull will help
I can try looking at sycl/test-e2e/BFloat16/bfloat16_conversions.cpp sycl/test-e2e/BFloat16/bfloat16_type.cpp if no one else is looking.
Thanks
So looking at bfloat16_conversions.cpp, one difference is that the current SYCL branch compiles 4 SPIR-V kernels, but the OpaquePointers branch only compiles 3. The SYCL branch generates two SPIR-V entrypoints:
typeinfo name for test_device<sycl::_V1::detail::half_impl::half>(sycl::_V1::queue)::{lambda(sycl::_V1::handler&)#1}::operator()(sycl::_V1::handler&) const::{lambda()#1}
and
typeinfo name for test_device<float>(sycl::_V1::queue)::{lambda(sycl::_V1::handler&)#1}::operator()(sycl::_V1::handler&) const::{lambda()#1}
but with OpaquePointers, only that second one is created. So the kernel for half
is absent. There are minor differences between the two matching float
kernels, but difficult to assess how important. I'm guessing the missing half one might be a clue?
sycl/test-e2e/KernelFusion/internalize_array_wrapper.cpp
is addressed in #10882.
@asudarsa, @cperkinsintel, do you have any updates?
Let me take a look at this today.
Thanks
@asudarsa, @cperkinsintel, do you have any updates?
Hi @bader Sorry for the long delay. We are looking at this now and will provide an update soon.
Thanks
@asudarsa, I think @steffenlarsen already updated all these tests. @steffenlarsen, am I right?
https://github.com/intel/llvm/pull/13695 aims to enable all but sycl/test-e2e/Regression/local-arg-align.cpp on Gen12.
The failure in local-arg-align occurs on DG2 as well. As such, I suspect it working on other platforms is just coincidence. https://github.com/intel/llvm/pull/14602 disables the test again until it can be investigated.
As such, I suspect it working on other platforms is just coincidence.
AFAIK, the problem is in SPIR-V -> LLVM translator used by Intel GPU compiler. Non-Intel devices (e.g. AMD and NVIDIA) devices should not be affected.
Following 7 tests are failing due to issues related to opaque pointers support. See https://github.com/intel/llvm/pull/9828.
~sycl/test-e2e/BFloat16/bfloat16_conversions.cpp~ Enabled by https://github.com/intel/llvm/pull/13695. ~sycl/test-e2e/BFloat16/bfloat16_type.cpp~ Enabled by https://github.com/intel/llvm/pull/13695. sycl/test-e2e/BFloat16/bfloat16_vec.cpp
~sycl/test-e2e/DeviceLib/string_test.cpp~ Enabled by https://github.com/intel/llvm/pull/13695. ~sycl/test-e2e/ESIMD/ext_math.cpp~ Fixed by https://github.com/intel/llvm/pull/10848 ~sycl/test-e2e/KernelFusion/internalize_array_wrapper.cpp~ Fixed by https://github.com/intel/llvm/pull/10882. ~sycl/test-e2e/Reduction/reduction_usm.cpp~ Enabled by https://github.com/intel/llvm/pull/13695. sycl/test-e2e/Regression/local-arg-align.cpp
We need to investigate these failures and re-enable execution with enabled opaque pointers.