-
Notifications
You must be signed in to change notification settings - Fork 788
[SYCL][Bindless][3/4] Add experimental implementation of SYCL bindless images extension #10454
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
[SYCL][Bindless][3/4] Add experimental implementation of SYCL bindless images extension #10454
Conversation
…s images extension This commit stands as the third commit of four to make code review easier, mostly covering the changes made to the user-facing SYCL API for the bindless images extension. The bindless images extension provides a new interface for allocating, creating, and accessing images in SYCL. Image memory allocation is seperated from image handle creation, and image handles can be passed to kernels without requesting access through accessors. This approach provides much more flexibility to the user, as well as enabling programs to implement features that were impossible to implement using standard SYCL images, such as a texture atlas. In addition to providing a new interface for images, this extension also provides initial experimental support for importing external memory into SYCL. Co-authored-by: Isaac Ault <[email protected]> Co-authored-by: Hugh Bird <[email protected]> Co-authored-by: Duncan Brawley <[email protected]> Co-authored-by: Przemek Malon <[email protected]> Co-authored-by: Chedy Najjar <[email protected]> Co-authored-by: Sean Stirling <[email protected]> Co-authored-by: Peter Zuzek <[email protected]> Implement revision 4 of the bindless images extension proposal: intel#9842
* Added missing `__SYCL_EXPORT` * Use fixed width `pi_uint64` instead of `unsigned long` * Added missing headers and forward declarations
bbe79a5
to
965eafa
Compare
Please note that this PR depends on PR 2/4 to compile, hence CI won't pass until it that is merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
graph_impl.hpp
changes LGTM. I tried this PR locally against our unmerged tests and it didn't regress anything.
Ping @intel/llvm-reviewers-runtime. |
Where are we at on this? Outstanding test failures? |
That, we need @intel/dpcpp-tools-reviewers approval, and there seem to be merge conflicts that need to be resolved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SYCLLowerIR
changes LGTM. @maarquitos14: FYI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes related to device traits and device config file look good to me.
The fourth PR has been posted and can be reviewed alongside this PR. |
Build failure in post-commit: @przemektmalon could you please fix ASAP? |
Fix compiler error/warnings related to unused variables/parameters Post-commit fix for PR: intel#10454
Created #10574 to address this |
Fix compiler error/warnings related to unused variables/parameters Post-commit fix for PR: #10454 Co-authored-by: Przemek Malon <[email protected]>
…CL bindless images extension (#10500) # Experimental Implementation of SYCL Bindless Images Extension This commit stands as the fourth, and final, commit of four to make code review easier, covering the additional tests for bindless images to the e2e test suite. Implementing [revision 4 of the bindless images extension proposal](#9842). This will not compile or run until [PR3](#10454) has been merged. However, it can be reviewed simultaneously with PR3. ## Overview The bindless images extension provides a new interface for allocating, creating, and accessing images in SYCL. Image memory allocation is seperated from image handle creation, and image handles can be passed to kernels without requesting access through accessors. This approach provides much more flexibility to the user, as well as enabling programs to implement features that were impossible to implement using standard SYCL images, such as a texture atlas. In addition to providing a new interface for images, this extension also provides initial experimental support for importing external memory into SYCL. ## Previous PRs * [1/4] [libclc](#9808) * [2/4] [PI/UR](#10112) * [3/4] [SYCL API](#10454) * [4/4] Tests <--- This one ## Authors Co-authored-by: Isaac Ault [email protected] Co-authored-by: Hugh Bird [email protected] Co-authored-by: Duncan Brawley [email protected] Co-authored-by: Przemek Malon [email protected] Co-authored-by: Chedy Najjar [email protected] Co-authored-by: Sean Stirling [email protected] Co-authored-by: Peter Zuzek [email protected] Co-authored-by: SYCL Unbound Team <[email protected]>
…s images extension (intel#10454) This commit stands as the third commit of four to make code review easier, mostly covering the changes made to the user-facing SYCL API for the [bindless images extension proposal](intel#9842). ### Overview The bindless images extension provides a new interface for allocating, creating, and accessing images in SYCL. Image memory allocation is seperated from image handle creation, and image handles can be passed to kernels without requesting access through accessors. This approach provides much more flexibility to the user, as well as enabling programs to implement features that were impossible to implement using standard SYCL images, such as a texture atlas. In addition to providing a new interface for images, this extension also provides initial experimental support for importing external memory into SYCL. ### Following Split PRs - [4/4] Add tests ### Authors Co-authored-by: Isaac Ault <[email protected]> Co-authored-by: Hugh Bird <[email protected]> Co-authored-by: Duncan Brawley <[email protected]> Co-authored-by: Przemek Malon <[email protected]> Co-authored-by: Chedy Najjar <[email protected]> Co-authored-by: Sean Stirling <[email protected]> Co-authored-by: Peter Zuzek <[email protected]>
Fix compiler error/warnings related to unused variables/parameters Post-commit fix for PR: intel#10454 Co-authored-by: Przemek Malon <[email protected]>
…CL bindless images extension (intel#10500) # Experimental Implementation of SYCL Bindless Images Extension This commit stands as the fourth, and final, commit of four to make code review easier, covering the additional tests for bindless images to the e2e test suite. Implementing [revision 4 of the bindless images extension proposal](intel#9842). This will not compile or run until [PR3](intel#10454) has been merged. However, it can be reviewed simultaneously with PR3. ## Overview The bindless images extension provides a new interface for allocating, creating, and accessing images in SYCL. Image memory allocation is seperated from image handle creation, and image handles can be passed to kernels without requesting access through accessors. This approach provides much more flexibility to the user, as well as enabling programs to implement features that were impossible to implement using standard SYCL images, such as a texture atlas. In addition to providing a new interface for images, this extension also provides initial experimental support for importing external memory into SYCL. ## Previous PRs * [1/4] [libclc](intel#9808) * [2/4] [PI/UR](intel#10112) * [3/4] [SYCL API](intel#10454) * [4/4] Tests <--- This one ## Authors Co-authored-by: Isaac Ault [email protected] Co-authored-by: Hugh Bird [email protected] Co-authored-by: Duncan Brawley [email protected] Co-authored-by: Przemek Malon [email protected] Co-authored-by: Chedy Najjar [email protected] Co-authored-by: Sean Stirling [email protected] Co-authored-by: Peter Zuzek [email protected] Co-authored-by: SYCL Unbound Team <[email protected]>
This commit stands as the third commit of four to make code review easier, mostly covering the changes made to the user-facing SYCL API for the bindless images extension proposal.
Overview
The bindless images extension provides a new interface for allocating, creating, and accessing images in SYCL. Image memory allocation is seperated from image handle creation, and image handles can be passed to kernels without requesting access through accessors. This approach provides much more flexibility to the user, as well as enabling programs to implement features that were impossible to implement using standard SYCL images, such as a texture atlas. In addition to providing a new interface for images, this extension also provides initial experimental support for importing external memory into SYCL.
Following Split PRs
Authors
Co-authored-by: Isaac Ault [email protected]
Co-authored-by: Hugh Bird [email protected]
Co-authored-by: Duncan Brawley [email protected]
Co-authored-by: Przemek Malon [email protected]
Co-authored-by: Chedy Najjar [email protected]
Co-authored-by: Sean Stirling [email protected]
Co-authored-by: Peter Zuzek [email protected]