Repository navigation
Fix more kernel launches over INT_MAX work-items with DPC++ 2026.2 - #3104
Open
antonwolfy wants to merge 2 commits into
Open
antonwolfy wants to merge 2 commits into
antonwolfy wants to merge 2 commits into
Conversation
With DPC++ 2026.2 the work-item ID range is recorded at the device link step, so modules built without the option at link time fail to launch kernels over more than INT_MAX work-items. Pass it at compile and link time to the ufunc, window and statistics extensions and to the dpnp_backend_c library, whose kernels can be launched over such ranges.
antonwolfy
requested review from
ndgrigorian and
vlad-perevezentsev
as code owners
October 15, 2026 09:36
Contributor
|
View rendered docs @ https://intelpython.github.io/dpnp/pull/3104/index.html |
Contributor
|
Array API standard conformance tests for dpnp=0.21.0dev14=np2py314h8d9cdd5_6 ran successfully. |
Collaborator
3 of 7 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR passes
-fno-sycl-id-queries-fit-in-intat both compile and link time to theufunc,windowandstatisticsextensions and to thedpnp_backend_clibrary. Until now only thedpnp.tensormodules and theindexingextension had it.With DPC++ 2026.2 the range a kernel assumes for its work-item IDs is recorded at the device link step, so these modules recorded the default
intrange, and their kernels failed when launched over more thanINT_MAXwork-items:The other extensions don't need the option:
fft,lapack,sparseandvmcompile no kernels of their own, and the onlyblaskernel (syrk) runs over ann x nrange, where no single dimension can exceedINT_MAX. Instatisticseach work-item processes several elements, so the limit is reached only for very large inputs.Validated with DPC++ 2026.2 on Intel Data Center GPU Max 1100 (Level Zero) and on CPU (OpenCL), on inputs with
2**31 + 1elements; results are the same on both devices:dpnp.gcdon broadcastint8inputsufuncdpnp.hamming(2**31 + 1)windowdpnp.random.logistic(size=2**31 + 1)dpnp_backend_ctest_binary_ufuncs.py,test_histogram.py,test_window.py,test_product.py,test_random_state.py,test_statistics.py,test_fft.pyandtest_special.pypass on both devices, and the build has no new warnings.No new tests are added: these cases need multi-GiB allocations, so as slow tests they would not run in CI and would skip on most devices.