8000 [SYCL][Doc] Update sub-group docs by Pennycook · Pull Request #1565 · intel/llvm · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[SYCL][Doc] Update sub-group docs #1565

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 6 commits into from
Jun 19, 2020
Merged

Conversation

Pennycook
Copy link
Contributor

Reverts some changes made when switching from SubGroupNDRange to SubGroup extension:

  • max_sub_group_size must take a work-group size in order to support OpenCL
  • The sub-group barrier member function was removed by mistake
  • The sub-group shuffle functions should be supported in addition to the higher-level permute and shift_* functions from the SubGroupAlgorithms extension

Thanks to @AlexeySachkov and @jasonsewall-intel for noticing some of these issues!

Signed-off-by: John Pennycook <john.pennycook@intel.com>
Signed-off-by: John Pennycook <john.pennycook@intel.com>
Signed-off-by: John Pennycook <john.pennycook@intel.com>
@Pennycook Pennycook added the spec extension All issues/PRs related to extensions specifications label Apr 21, 2020
@Pennycook Pennycook requested a review from AlexeySachkov April 21, 2020 19:04
Sub-group queries build on SYCL_device_specific_kernel_queries.

Signed-off-by: John Pennycook <john.pennycook@intel.com>
@Pennycook
Copy link
Contributor Author

I hadn't realized that SYCL_device_specific_kernel_queries had been merged in #1540. I've pushed a new commit to align the sub-group queries with the syntax there -- @Felipe-Intel, could you please take a look?

@felipepiovezan2
Copy link
8000 Contributor

I hadn't realized that SYCL_device_specific_kernel_queries had been merged in #1540. I've pushed a new commit to align the sub-group queries with the syntax there -- @Felipe-Intel, could you please take a look?

LGTM!

@garimagu
Copy link
Contributor

@AlexeySachkov Ping.

|+template <info::kernel_sub_group param>typename info::param_traits<info::kernel_sub_group, param>::return_type get_sub_group_info(const device &dev) const+
|Query information from the sub-group from a kernel using the +info::kernel_sub_group+ descriptor for a specific device.
|+template <info::kernel_device_specific param>typename info::param_traits<info::kernel_device_specific, param>::return_type get_info(const device &dev, typename info::param_traits<info::kernel_device_specific, param>::input_type value) const+
|Query information from a kernel using the +info::kernel_device_specific+ descriptor for a specific device and input parameter. The expected value of the input parameter depends on the information being queried.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it required to be mentioned that the second argument is optional when not needed?
The previous version had both versions of get_sub_group_info APIs mentioned.
https://github.com/intel/llvm/blob/fba2e0602550a86c74149d9875b788ad1117f8d3/sycl/doc/extensions/SubGroupNDRange/SubGroupNDRange.md

Copy link
8000
Contributor Author

Choose a reason for hiding this comment

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

I've added a reference to SYCL_device_specific_kernel_queries and highlighted that which version should be used depends on whether there is an input type specified for the query or not. Thanks!

Signed-off-by: John Pennycook <john.pennycook@intel.com>
@garimagu
Copy link
Contributor
garimagu commented May 5, 2020

Hi John,
I'm still a little confused about the behavior of this API.
The API will return max num of sub-groups for a Level0 device and the min(range, max num of sub_groups) for an OpenCL device. Is that correct?

@jbrodman
Copy link
Contributor
jbrodman commented May 7, 2020

Hi John,
I'm still a little confused about the behavior of this API.
The API will return max num of sub-groups for a Level0 device and the min(range, max num of sub_groups) for an OpenCL device. Is that correct?

@Pennycook

@garimagu
Copy link
Contributor
garimagu commented May 7, 2020

Hi John,
I'm still a little confused about the behavior of this API.
The API will return max num of sub-groups for a Level0 device and the min(range, max num of sub_groups) for an OpenCL device. Is that correct?

@Pennycook

I had a call with John. He confirmed that my understanding was correct.
-Garima

@garimagu
Copy link
Contributor

@Pennycook Is this PR not merged for some reason. The PR corresponding to this change in SYCL : #1600 is ready to be merged.

@Pennycook
Copy link
Contributor Author

@Pennycook Is this PR not merged for some reason. The PR corresponding to this change in SYCL : #1600 is ready to be merged.

It cannot be merged without a review from one of the code owners for the extensions directory. @jbrodman, can you approve if there are no other concerns? @garimagu and I agree that what's specified here is correct, and we'll open a new issue if future updates are needed.

garimagu added a commit to garimagu/llvm that referenced this pull request May 12, 2020
Implements the change as per the spec update at
https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/SubGroup/SYCL_INTEL_sub_group.asciidoc
and update from : intel#1565

ABI update: Functions corresponding to the deleted APIs have been
deleted.
Edit info.cpp test to expect max sub-group size based on the spec update.
Changed pi.h document and changed the plugin to always return a 32 bit
value.
ABI version update.

Signed-off-by: Garima Gupta <garima.gupta@intel.com>
bader pushed a commit that referenced this pull request May 15, 2020
Implements the change as per the spec update at
https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/SubGroup/SYCL_INTEL_sub_group.asciidoc
and update from : #1565

ABI update: Functions corresponding to the deleted APIs have been
deleted.
Edit info.cpp test to expect max sub-group size based on the spec update.
Changed pi.h document and changed the plugin to always return a 32 bit
value.

Signed-off-by: Garima Gupta <garima.gupta@intel.com>
@bader
Copy link
Contributor
bader commented May 17, 2020

@jbrodman, @mkinsner, ping.

Incompatible with memory model introduced by ExtendedAtomics extension.

Signed-off-by: John Pennycook <john.pennycook@intel.com>
Copy link
Contributor
@jbrodman jbrodman left a comment

Choose a reason for hiding this comment

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

LGTM

@bader bader merged commit 010f112 into intel:sycl Jun 19, 2020
@Pennycook Pennycook deleted the sub-group-docs-update branch July 10, 2020 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec extension All issues/PRs related to extensions specifications
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
0