Skip to content

[SYCL] Align nd_range with SYCL 2020 specifications for next release - #22863

Open
Robertkq wants to merge 6 commits into
intel:syclfrom
Robertkq:Robertkq/22737
Open

[SYCL] Align nd_range with SYCL 2020 specifications for next release#22863
Robertkq wants to merge 6 commits into
intel:syclfrom
Robertkq:Robertkq/22737

Conversation

@Robertkq

@Robertkq Robertkq commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

fixes #22737

@Robertkq

Robertkq commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

I believe the __NOEXCEPT macro is a nice way to add noexcept to the specified functions while still being readable.

There are no other uses of __NOEXCEPT as a macro in the project,
if __INTEL_PREVIEW_BREAKING_CHANGES is not defined, the macro expands to nothing

I guess there is a very small chance for downstream users of this header to use __NOEXCEPT, maybe we can call it something more specific to avoid it, like __INTEL_NOEXCEPT or whatever, but I don't think there is a way to not give the macro to downstream users, and I think the readability of this macro outweighs the small chance of collision

EDIT: no longer relevant, ABI Breakage is no concern for this as classes, functions modified are templated, they don't end up in libsycl symbols

@Robertkq
Robertkq marked this pull request as ready for review August 4, 2026 20:15
@Robertkq
Robertkq requested a review from a team as a code owner August 4, 2026 20:15
@Robertkq
Robertkq requested a review from dm-vodopyanov August 4, 2026 20:15
@Robertkq

Robertkq commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

@KornevNikita can you also take a look? ty

@KornevNikita KornevNikita left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting idea - I'm OK with this, although I'm not sure about runtime team:)

@KornevNikita

Copy link
Copy Markdown
Contributor

Hey, just checked locally. libsycl.so doesn't contain these symbols, so it seems like we can modify this header without guards

@Robertkq

Robertkq commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

Hey, just checked locally. libsycl.so doesn't contain these symbols, so it seems like we can modify this header without guards

Hmm.. I wonder why it doesnt contain these symbols, shouldnt it contain all symbols of the exposed API / Runtime classes? Maybe I dont have enough knowledge on this..

If its convenient for you, can you check symbols for #22736 issue as well?

I'll update the PR accordingly

@KornevNikita

KornevNikita commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

I see no symbols in https://github.com/intel/llvm/blob/sycl/sycl/test/abi/sycl_symbols_linux.dump and these functions are not marked with __SYCL_EXPORT.

@Robertkq

Robertkq commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

@KornevNikita @dm-vodopyanov

Can I have approval for CI & review? simple changes from this PR

Thanks!

Comment thread sycl/include/sycl/nd_range.hpp Outdated
@Robertkq

Robertkq commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

failiures #22858 #22405

@Robertkq Robertkq changed the title [SYCL][ABI] Align nd_range with SYCL 2020 specifications for next release [SYCL] Align nd_range with SYCL 2020 specifications for next release Aug 6, 2026
Comment thread sycl/include/sycl/nd_range.hpp Outdated
Comment thread sycl/include/sycl/nd_range.hpp Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Aling nd_range with SYCL 2020

2 participants