diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bb82b02eb04..28315c1fef55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -124,6 +124,7 @@ This release is compatible with NumPy 2.5. * Fixed `dpnp.repeat` and `dpnp.tensor.repeat` silently returning wrong results for `uint64` repeats above the `int64` maximum [#3115](https://github.com/IntelPython/dpnp/pull/3115) * Fixed importing `dpnp.scipy.sparse` re-enabling the GIL on free-threaded Python builds, because its pybind11 extension did not declare free-threading support [#3101](https://github.com/IntelPython/dpnp/pull/3101) * Fixed the CuPy-based `dpnp.scipy` tests under `dpnp/tests/third_party/cupyx/scipy_tests/` missing from the `dpnp` package, so they never ran against an installed package [#3102](https://github.com/IntelPython/dpnp/pull/3102) +* Fixed a `RuntimeError` raised by kernels of the `blas`, `statistics`, `ufunc` and `window` extensions and of the legacy backend launched over more than `INT_MAX` work-items when built with DPC++ compiler 2026.2 or newer [#3104](https://github.com/IntelPython/dpnp/pull/3104) ### Security diff --git a/dpnp/backend/CMakeLists.txt b/dpnp/backend/CMakeLists.txt index c3ba1760ff61..bdbdd8075829 100644 --- a/dpnp/backend/CMakeLists.txt +++ b/dpnp/backend/CMakeLists.txt @@ -70,7 +70,11 @@ endif() # target_compile_definitions(${_trgt} PRIVATE _WIN=1) # endif() -target_link_options(${_trgt} PUBLIC -fsycl-device-code-split=per_kernel) +target_compile_options(${_trgt} PUBLIC -fno-sycl-id-queries-fit-in-int) +target_link_options( + ${_trgt} + PUBLIC -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int +) if(DPNP_GENERATE_COVERAGE) target_link_options(${_trgt} PRIVATE -fprofile-instr-generate -fcoverage-mapping) diff --git a/dpnp/backend/extensions/blas/CMakeLists.txt b/dpnp/backend/extensions/blas/CMakeLists.txt index 872dea406ed3..15a98512e29a 100644 --- a/dpnp/backend/extensions/blas/CMakeLists.txt +++ b/dpnp/backend/extensions/blas/CMakeLists.txt @@ -96,7 +96,11 @@ else() ) endif() -target_link_options(${python_module_name} PUBLIC -fsycl-device-code-split=per_kernel) +target_compile_options(${python_module_name} PUBLIC -fno-sycl-id-queries-fit-in-int) +target_link_options( + ${python_module_name} + PUBLIC -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int +) if(DPNP_GENERATE_COVERAGE) target_link_options( diff --git a/dpnp/backend/extensions/statistics/CMakeLists.txt b/dpnp/backend/extensions/statistics/CMakeLists.txt index 1d5b5947e556..b273b707059a 100644 --- a/dpnp/backend/extensions/statistics/CMakeLists.txt +++ b/dpnp/backend/extensions/statistics/CMakeLists.txt @@ -99,7 +99,11 @@ else() ) endif() -target_link_options(${python_module_name} PUBLIC -fsycl-device-code-split=per_kernel) +target_compile_options(${python_module_name} PUBLIC -fno-sycl-id-queries-fit-in-int) +target_link_options( + ${python_module_name} + PUBLIC -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int +) if(DPNP_GENERATE_COVERAGE) target_link_options( diff --git a/dpnp/backend/extensions/ufunc/CMakeLists.txt b/dpnp/backend/extensions/ufunc/CMakeLists.txt index 9c0b68c4cc9d..ce7a9506ad55 100644 --- a/dpnp/backend/extensions/ufunc/CMakeLists.txt +++ b/dpnp/backend/extensions/ufunc/CMakeLists.txt @@ -125,7 +125,11 @@ else() ) endif() -target_link_options(${python_module_name} PUBLIC -fsycl-device-code-split=per_kernel) +target_compile_options(${python_module_name} PUBLIC -fno-sycl-id-queries-fit-in-int) +target_link_options( + ${python_module_name} + PUBLIC -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int +) if(DPNP_GENERATE_COVERAGE) target_link_options( diff --git a/dpnp/backend/extensions/window/CMakeLists.txt b/dpnp/backend/extensions/window/CMakeLists.txt index 536f9c0ad2fd..d96160cf74a2 100644 --- a/dpnp/backend/extensions/window/CMakeLists.txt +++ b/dpnp/backend/extensions/window/CMakeLists.txt @@ -94,7 +94,11 @@ else() ) endif() -target_link_options(${python_module_name} PUBLIC -fsycl-device-code-split=per_kernel) +target_compile_options(${python_module_name} PUBLIC -fno-sycl-id-queries-fit-in-int) +target_link_options( + ${python_module_name} + PUBLIC -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int +) if(DPNP_GENERATE_COVERAGE) target_link_options(