diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d6b8161ef84..40edd9909747 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -118,6 +118,7 @@ This release is compatible with NumPy 2.5. * Fixed incorrect results of `dpnp.tensor.vecdot` in some cases with strided outputs and of `dpnp.tensor` reductions, `dpnp.tensor.vecdot` and `dpnp.tensor.matmul` on large inputs with some data types [#3082](https://github.com/IntelPython/dpnp/pull/3082) * Fixed `dpnp.median` and `dpnp.nanmedian` raising a `ValueError` for a tuple `axis` when a kept dimension has size 0 [#3081](https://github.com/IntelPython/dpnp/pull/3081) * Fixed a `RuntimeError` raised by `dpnp.tensor` kernels launched over more than `INT_MAX` work-items when built with DPC++ compiler 2026.2 or newer, by also passing `-fno-sycl-id-queries-fit-in-int` to the linker [#3089](https://github.com/IntelPython/dpnp/pull/3089) +* Fixed a `RuntimeError` raised by kernels of the `ufunc`, `window` and `statistics` 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/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(