Skip to content

[SYCL] Sub-group load/store for raw pointers #3255

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 12 commits into from
Mar 12, 2021

Conversation

vladimirlaz
Copy link
Contributor

@vladimirlaz vladimirlaz commented Feb 24, 2021

Add sub-group load/store methods for raw pointers:

  • If pointers are decorated address space information is obtained from the attribute;
  • If pointers are not decorated explicit cast (GenericCastToPtrExplicit method) are used to obtain information about address space. Only local and global address spaces are supported by load/store methods. For other address spaces assertion is generated.

Also fixed target triple (spir64-unknown-unknown-sycldevice) used for SPIR-V compilation path in LIT tests. The previous one was not supported by device library.

@vladimirlaz
Copy link
Contributor Author

/summary:run

@vladimirlaz vladimirlaz changed the title [SYCL] Initial implementation [SYCL] Sub-group load/store for raw pointers Feb 25, 2021
 - remove unnecessary attributes for SPIR-V declaration and definitions;
 - fix SPIR-V enumeration values;
 - add tests;
 - generate assert if load/store is called for private pointer;
 - remove decoreded reference code;
 - use spir64-unknown-unknown-sycldevice target in LIT infra to
   use device side asserts;
 - update documentation.
@vladimirlaz vladimirlaz marked this pull request as ready for review February 26, 2021 10:08
@vladimirlaz vladimirlaz requested review from a team as code owners February 26, 2021 10:08
@vladimirlaz vladimirlaz requested a review from againull February 26, 2021 10:08
 - implement fallback for CUDA BE;
 - fix assert function name on Windows.
Pennycook
Pennycook previously approved these changes Mar 1, 2021
@vladimirlaz
Copy link
Contributor Author

@intel/dpcpp-specification-reviewers, @againull could you please have a look?

againull
againull previously approved these changes Mar 5, 2021
@vladimirlaz
Copy link
Contributor Author

@jbrodman, @mkinsner could you please approve?

Copy link
Contributor

@bader bader left a comment

Choose a reason for hiding this comment

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

Please, provide description for this PR with high-level overview of the patch.

@vladimirlaz vladimirlaz dismissed stale reviews from againull and Pennycook via 828659c March 8, 2021 13:05
Pennycook
Pennycook previously approved these changes Mar 8, 2021
@bader
Copy link
Contributor

bader commented Mar 8, 2021

@vladimirlaz, please, fix LIT test failure.

@vladimirlaz
Copy link
Contributor Author

@vladimirlaz, please, fix LIT test failure.
done

@vladimirlaz vladimirlaz requested a review from Pennycook March 9, 2021 06:13
Copy link
Contributor

@bader bader left a comment

Choose a reason for hiding this comment

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

Looks much better now. Thanks!

@vladimirlaz
Copy link
Contributor Author

@jbrodman, @mkinsner could you please review/approve minor doc changes?

@vladimirlaz vladimirlaz merged commit 248f550 into intel:sycl Mar 12, 2021
vladimirlaz added a commit to vladimirlaz/llvm-test-suite that referenced this pull request Mar 15, 2021
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request Mar 15, 2021
* upstream/sycl:
  Add ITT stubs and wrappers for SPIR-V devices (intel#3279)
  [SYCL] Add zero argument version of buffer::reinterpret() for SYCL 2020 (intel#3333)
  [SYCL] Restore old behavior of get() method (intel#3356)
  [Driver][SYCL][FPGA] Improve FPGA AOT when using Triple (intel#3330)
  [SYCL] Revert support for pinned_host_memory extension in Level-Zero backend. Make it a NOP (intel#3349)
  [SYCL] Remove redundant build options processing (intel#3342)
  [SYCL][NFC] Factor out GenXIntrinsics git repo tag. (intel#3351)
  [SYCL] Add coarse-grained debug aid for finding imbalance in Level-Zero alloc/free (intel#3334)
  [SYCL] Sub-group load/store for raw pointers (intel#3255)
  [SYCL] Fix more unused variables warnings (intel#3352)
  [BuildBot] Uplift CPU/FPGAEMU RT version for CI Process  (intel#3338)
vladimirlaz added a commit to intel/llvm-test-suite that referenced this pull request Mar 15, 2021
* [SYCL] Moved tests introduced in intel/llvm#3255

* [SYCL] Fix issues found in CI

 - fix target tripple used by default to spir64-unknown-unknown-sycldevice;
 - remove obsolet LIT parameters (target_triple, host_triple);
 - enable tests for CPU and ACC devices.
@vladimirlaz vladimirlaz deleted the sg_as_poc branch April 23, 2021 06:26
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Feb 23, 2023
* [SYCL] Moved tests introduced in intel#3255

* [SYCL] Fix issues found in CI

 - fix target tripple used by default to spir64-unknown-unknown-sycldevice;
 - remove obsolet LIT parameters (target_triple, host_triple);
 - enable tests for CPU and ACC devices.
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
* [SYCL] Moved tests introduced in intel#3255

* [SYCL] Fix issues found in CI

 - fix target tripple used by default to spir64-unknown-unknown-sycldevice;
 - remove obsolet LIT parameters (target_triple, host_triple);
 - enable tests for CPU and ACC devices.
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.

4 participants