-
Notifications
You must be signed in to change notification settings - Fork 796
Implement work_group_static / work_group_scratch_memory #15061
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 60 commits
Commits
Show all changes
83 commits
Select commit
Hold shift + click to select a range
aa87907
WIP work_group_static
1a92e2d
fist stab at a combined compile-runtime property
7d686cf
clang format and use SYCLScope attr rather than local address space t…
e5fd086
Merge branch 'sycl' into work_group_static
7746d8e
add more testing
cabdbf3
fix up interface and update extension proposal
1567b92
restrict test
817f293
Merge branch 'sycl' into work_group_static
a392e4e
use https for UR
149f98f
clang format
10edb4a
clang-format using proper version
57114bc
change type for local memory size
6cb38eb
fix unit test
1982e4b
fix testing
8ddbb3c
fix test and added few comments
4f465fd
Split compile-time property key and value
sommerlukas 08c716d
quick clean up
cdbd3f5
Merge branch 'sycl' into work_group_static
c65dee9
format
0a3a20e
fix merge issue
06d4028
sync with UR tip
f66b4ce
format with clang 18
66521ac
Fix lit test
8ee4cd4
fix symbol check on windows
adfe81f
Fix property query and improve tests
sommerlukas 1ffd092
Remove outdated test
sommerlukas 34483a6
Merge branch 'sycl' into work_group_static
f3b997b
Merge branch 'sycl' into work_group_static
bcfcbb0
sync and fix test
e064618
fix test include
c35b6ff
format
e65025d
Merge branch 'sycl' into work_group_static
ab311af
Merge branch 'sycl' into work_group_static
5752615
Address comments
416f7ff
Merge branch 'sycl' into work_group_static
9409de9
add test and improve diags
4112fbf
Add fmoreimprovments
033f773
apply more feedback
8110c20
Add test for sycl-graph
32d2d37
split extension into static and dynamic case, add more tests
dafc3dd
Merge branch 'sycl' into work_group_static
0963146
fix include test
c5f2ebb
address comments and disable dynamic tests on gen12 (not locally repr…
6cf6a96
document interaction of sycl_ext_oneapi_work_group_scratch_memory wit…
675f9ff
address review comments
5c8461b
Merge branch 'sycl' into work_group_static
8cd4e2e
fix merge conflict issue
803764e
fix missing enum handling
2f4cdae
clang format
986c9ff
Merge branch 'sycl' into work_group_static_tmp
5237f69
Create hybrid runtime prop with compile time info
5bc8157
Move builtins definitions to their own file
dc71a36
format
9a1421c
forgot file
566bebd
Address review comments
7c609b6
Apply suggestions from code review
56bd349
make alignment a constexpr variable to be more explicit
8d121ec
Merge branch 'sycl' into work_group_static
a881995
format
9a505ae
fix UR commit hash
9cefd48
add tracker and UR squash commit
eea2241
remove eq/neq operator
c163fb1
Merge branch 'sycl' into work_group_static
430bd9c
address last feedbacks
44ada24
fix save issue
94bb685
update ur tag
ca0b450
Merge branch 'sycl' into work_group_static
0beea9d
Merge branch 'sycl' into work_group_static
5192c25
add missing include
7f210e2
format
b95ecfd
include
fa0f7c4
Merge branch 'sycl' into work_group_static
af1bc10
Merge branch 'sycl' into work_group_static
b728c9c
Merge branch 'sycl' into work_group_static
33ea3b0
Bump UR tag
callumfare 3b3f327
Bump UR tag to test UR PR
callumfare 921c64b
Merge branch 'sycl' into work_group_static
callumfare 32589ef
disable hip
e7b4372
Merge branch 'sycl' into work_group_static
435c65a
Merge branch 'sycl' into work_group_static
39158c3
Merge branch 'sycl' into work_group_static
97a417a
tag
32d8e16
[UR] Update tag to 5acc824 for UR #2403.
martygrant File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| // Verify the use of wg_scope is correctly diagnosed. | ||
| // RUN: %clang_cc1 -fsycl-is-device -verify %s | ||
Naghasan marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| class [[__sycl_detail__::wg_scope]] G1 {}; | ||
| class [[__sycl_detail__::wg_scope]] G2 { | ||
| G2() = default; | ||
| G2(int i) : i(i) {} | ||
| int i; | ||
| }; | ||
|
|
||
| class [[__sycl_detail__::wg_scope]] G3 { | ||
| ~G3() = default; | ||
| }; | ||
|
|
||
| class [[__sycl_detail__::wg_scope]] B4 { // expected-error {{SYCL work group scope only applies to class with a trivial default constructor}} | ||
| B4() {} | ||
| }; | ||
|
|
||
| class [[__sycl_detail__::wg_scope]] B5 { // expected-error {{SYCL work group scope only applies to class with a trivial destructor}} | ||
| ~B5() {} | ||
| }; | ||
|
|
||
| class [[__sycl_detail__::wg_scope]] B6 { // expected-error {{SYCL work group scope only applies to class with a trivial default constructor}} | ||
| B6() {} | ||
| ~B6() {} | ||
| }; | ||
|
|
||
| template <typename T> class [[__sycl_detail__::wg_scope]] B7 { // #B7 | ||
| public: | ||
| T obj; | ||
| }; | ||
|
|
||
| struct Valid {}; | ||
| struct InvalidCtor { | ||
| InvalidCtor() {} | ||
| }; | ||
| struct InvalidDtor { | ||
| ~InvalidDtor() {} | ||
| }; | ||
| struct InvalidCDtor { | ||
| InvalidCDtor() {} | ||
| ~InvalidCDtor() {} | ||
| }; | ||
|
|
||
| B7<Valid> b7; | ||
| // expected-error@#B7 {{SYCL work group scope only applies to class with a trivial default constructor}} | ||
| // expected-note@+1 {{in instantiation of template class 'B7<InvalidCtor>' requested here}} | ||
| B7<InvalidCtor> b9; | ||
| // expected-error@#B7 {{SYCL work group scope only applies to class with a trivial destructor}} | ||
| // expected-note@+1 {{in instantiation of template class 'B7<InvalidDtor>' requested here}} | ||
| B7<InvalidDtor> b10; | ||
| // expected-error@#B7 {{SYCL work group scope only applies to class with a trivial default constructor}} | ||
| // expected-note@+1 {{in instantiation of template class 'B7<InvalidCDtor>' requested here}} | ||
| B7<InvalidCDtor> b11; | ||
|
|
||
| template <typename T> class [[__sycl_detail__::wg_scope]] B12 { // #B12 | ||
| public: | ||
| B12() = default; | ||
| ~B12() = default; | ||
| T obj; | ||
| }; | ||
|
|
||
| B12<Valid> b12; | ||
| // expected-error@#B12 {{SYCL work group scope only applies to class with a trivial default constructor}} | ||
| // expected-note@+1 {{in instantiation of template class 'B12<InvalidCtor>' requested here}} | ||
| B12<InvalidCtor> b13; | ||
|
|
||
| class B14 { | ||
| G1 field; // expected-error {{non-static data member is of a type with a SYCL work group scope attribute applied to it}} | ||
| }; | ||
|
|
||
| template <typename T> class B15 { | ||
| T field; // #B15-field | ||
| }; | ||
|
|
||
| // expected-error@#B15-field {{non-static data member is of a type with a SYCL work group scope attribute applied to it}} | ||
| // expected-note@+1 {{in instantiation of template class 'B15<G1>' requested here}} | ||
| B15<G1> b15; | ||
|
|
||
| G1 g16; | ||
| static G1 g17; | ||
|
|
||
| struct Wrap { | ||
| static G1 g18; | ||
| }; | ||
|
|
||
| __attribute__((sycl_device)) void ref_func() { | ||
| G1 g19; | ||
| static G1 g20; | ||
|
|
||
| (void)g16; | ||
| (void)g17; | ||
| (void)Wrap::g18; | ||
| } | ||
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.