diff --git a/cmake/FindDPCPP.cmake b/cmake/FindDPCPP.cmake index 1bdb5e9ee..a53c4c955 100644 --- a/cmake/FindDPCPP.cmake +++ b/cmake/FindDPCPP.cmake @@ -19,6 +19,12 @@ endif() # Set SYCL compilation mode, SYCL 2020 standard version and user provided flags set(DPCPP_FLAGS "-fsycl;-sycl-std=2020;${DPCPP_FLAGS}") + +# -fsycl-id-queries-fit-in-int is an optimization enabled by default, but +# adds non-conformant behavior that limits the number of work-items in an +# invocation of a kernel, so we disable this behavior here. +set(DPCPP_FLAGS "${DPCPP_FLAGS};-fno-sycl-id-queries-fit-in-int") + # Set target triple(s) if specified if(DEFINED DPCPP_TARGET_TRIPLES) set(DPCPP_FLAGS "${DPCPP_FLAGS};-fsycl-targets=${DPCPP_TARGET_TRIPLES};") diff --git a/tests/accessor/accessor_common.h b/tests/accessor/accessor_common.h index 3fe448ec0..e4d5505eb 100644 --- a/tests/accessor/accessor_common.h +++ b/tests/accessor/accessor_common.h @@ -575,9 +575,6 @@ template void check_zero_length_buffer_constructor(GetAccFunctorT get_accessor_functor) { -// FIXME Check is disabled due to unresolved issue -// https://github.com/KhronosGroup/SYCL-Docs/issues/408 -#if !SYCL_CTS_COMPILING_WITH_DPCPP constexpr int dim_buf = (0 == Dimension) ? 1 : Dimension; auto queue = once_per_unit::get_queue(); sycl::range buf_range = @@ -621,7 +618,6 @@ void check_zero_length_buffer_constructor(GetAccFunctorT get_accessor_functor) { for (size_t i = 0; i < conditions_checks_size; i++) { CHECK(conditions_check[i]); } -#endif } #endif // !SYCL_CTS_COMPILING_WITH_HIPSYCL