-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL][COMPAT][Doc] Add SYCLcompat documentation #9646
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][COMPAT][Doc] Add SYCLcompat documentation #9646
Conversation
sycl/doc/extensions/experimental/sycl_ext_oneapi_compat.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_oneapi_compat.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_oneapi_compat.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_oneapi_compat.asciidoc
Outdated
Show resolved
Hide resolved
c417e6d
to
b003d33
Compare
We were advised to switch from oneAPI extension to library. The PR has been updated from an extension spec document to a README. |
LGTM, nice work @Alcpz |
@intel/dpcpp-doc-reviewers We think this is ready for merge now. |
@Alcpz this can't be merged now, the process is here: https://github.com/intel/llvm/blob/sycl/CONTRIBUTING.md#merge Currently the approve from @intel/dpcpp-doc-reviewers is required. |
@dm-vodopyanov Sorry for the misunderstanding. I meant the following: we consider the version good to merge, we would like for a review from the dpcpp-doc-reviewers group |
@@ -0,0 +1,1295 @@ | |||
# SYCLcompat | |||
|
|||
SYCLcompat is a header-only library that intends to help developers familiar |
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.
Do we have access to the PR with the library implementation? I wonder what the library location in the source code directory layout is. Is it the part of the DPC++ runtime library?
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.
We are pushing the implementation in a series of incremental PRs. The first of these is here which simply adds a couple of small headers & their tests, and the relevant CMake.
For the structure, refer to this section of the CODEOWNERS.
This is not part of the DPC++ runtime library, but rather a stand-alone library which is shipped with DPC++. This structure was discussed & decided by the oneAPI Architecture Forum.
Once the first implementation PR is merged, we'll begin to put up more incremental PRs adding functionality. This approach has been taken in response to feedback from Intel requesting that we avoid monolithic PRs which are hard to review.
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.
@bader thanks for your in-depth review & useful feedback. We will address the remaining issues, rebase and request another review 👍
@@ -0,0 +1,1295 @@ | |||
# SYCLcompat | |||
|
|||
SYCLcompat is a header-only library that intends to help developers familiar |
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.
We are pushing the implementation in a series of incremental PRs. The first of these is here which simply adds a couple of small headers & their tests, and the relevant CMake.
For the structure, refer to this section of the CODEOWNERS.
This is not part of the DPC++ runtime library, but rather a stand-alone library which is shipped with DPC++. This structure was discussed & decided by the oneAPI Architecture Forum.
Once the first implementation PR is merged, we'll begin to put up more incremental PRs adding functionality. This approach has been taken in response to feedback from Intel requesting that we avoid monolithic PRs which are hard to review.
Co-Authored-By: Gordon Brown <gordon@codeplay.com> Co-Authored-By: Joe Todd <joe.todd@codeplay.com> Co-Authored-By: Pietro Ghiglio <pietro.ghiglio@codeplay.com> Co-Authored-By: Ruyman Reyes <ruyman@codeplay.com>
Updated the Local Memory and `launch<function>` sections to improve readability.
Co-authored-by: Steffen Larsen <steffen.larsen@intel.com> Co-authored-by: aelovikov-intel <andrei.elovikov@intel.com>
There was an agreement to move from an extension to an independent library within DPCPP, hence this commit.
Co-authored-by: Sami Hatna <sami.hatna@codeplay.com>
Co-authored-by: Alexey Bader <alexey.bader@intel.com>
6564fad
to
3af8eda
Compare
- Remove deprecated definitions of math pi - Improved comment formatting (/// -> //) - Update complex extension link
Hey @bader we've addressed most of your comments. I've asked for a clarification about the variable naming. Thanks! |
Hello @dm-vodopyanov , we have now the required approvals. |
@Alcpz thanks, according to the process mentioned above, please ping faceless account next time, not the specific people. |
This is an implementation of SYCLcompat, the stand alone library proposed in #9646. Please, find the documentation there. SYCLcompat has two primary goals: - Improve the adoption of SYCL. This library is designed to provide a familiar programming interface that resembles other popular heterogeneous programming models. By reducing the learning curve, it enables developers to leverage SYCL's power and features more easily. - Source-to-Source Translation Support. SYCLcompat is also designed to facilitate automatic source-to-source translation from other heterogeneous programming models to SYCL and offer a more standardized and consistent programming interface. This feature can significantly streamline the migration and integration of existing codebases into the SYCL ecosystem The PR also includes tests. We were advised to include the tests as part of `sycl/unittests`, so we added a different mechanism to build them using `clang`. As we stated in the docs PR, we are open to any suggestions, concerns, or improvements you may have, so please, let us know if you have any. --------- Co-authored-by: Gordon Brown <gordon@codeplay.com> Co-authored-by: Joe Todd <joe.todd@codeplay.com> Co-authored-by: Pietro Ghiglio <pietro.ghiglio@codeplay.com> Co-authored-by: Ruyman Reyes <ruyman@codeplay.com> Co-authored-by: tomflinda <tomflinda@gmail.com>
This pull request introduces a new stand alone library, `SYCLcompat`: a simplified wrapper on top of SYCL, aiming to make it more accessible to developers familiar with other heterogeneous programming models. SYCLcompat has two primary goals: - Improve the adoption of SYCL. This library is designed to provide a familiar programming interface that resembles other popular heterogeneous programming models. By reducing the learning curve, it enables developers to leverage SYCL's power and features more easily. - Source-to-Source Translation Support. SYCLcompat is also designed to facilitate automatic source-to-source translation from other heterogeneous programming models to SYCL and offer a more standardized and consistent programming interface. This feature can significantly streamline the migration and integration of existing codebases into the SYCL ecosystem. The first commit of this PR includes the proposed library README, providing explanation of its motivation, public interface, usage guidelines, and code examples. A set of PRs will follow, including subsets of the current implementation including their tests. We are open to any suggestions, concerns, or improvements you may have, so please, let us know if you have any. Edit: Updated from extension to stand alone library. intel#9976 `dims.hpp` and `defs.hpp` headers --------- Co-authored-by: Gordon Brown <gordon@codeplay.com> Co-authored-by: Joe Todd <joe.todd@codeplay.com> Co-authored-by: Pietro Ghiglio <pietro.ghiglio@codeplay.com> Co-authored-by: Ruyman Reyes <ruyman@codeplay.com> Co-authored-by: Steffen Larsen <steffen.larsen@intel.com> Co-authored-by: aelovikov-intel <andrei.elovikov@intel.com> Co-authored-by: Sami Hatna <sami.hatna@codeplay.com> Co-authored-by: Joe Todd <joeatodd@users.noreply.github.com> Co-authored-by: Alexey Bader <alexey.bader@intel.com>
This is an implementation of SYCLcompat, the stand alone library proposed in intel#9646. Please, find the documentation there. SYCLcompat has two primary goals: - Improve the adoption of SYCL. This library is designed to provide a familiar programming interface that resembles other popular heterogeneous programming models. By reducing the learning curve, it enables developers to leverage SYCL's power and features more easily. - Source-to-Source Translation Support. SYCLcompat is also designed to facilitate automatic source-to-source translation from other heterogeneous programming models to SYCL and offer a more standardized and consistent programming interface. This feature can significantly streamline the migration and integration of existing codebases into the SYCL ecosystem The PR also includes tests. We were advised to include the tests as part of `sycl/unittests`, so we added a different mechanism to build them using `clang`. As we stated in the docs PR, we are open to any suggestions, concerns, or improvements you may have, so please, let us know if you have any. --------- Co-authored-by: Gordon Brown <gordon@codeplay.com> Co-authored-by: Joe Todd <joe.todd@codeplay.com> Co-authored-by: Pietro Ghiglio <pietro.ghiglio@codeplay.com> Co-authored-by: Ruyman Reyes <ruyman@codeplay.com> Co-authored-by: tomflinda <tomflinda@gmail.com>
This pull request introduces a new stand alone library,
SYCLcompat
: a simplified wrapper on top of SYCL, aiming to make it more accessible to developers familiar with other heterogeneous programming models.SYCLcompat has two primary goals:
Improve the adoption of SYCL. This library is designed to provide a familiar programming interface that resembles other popular heterogeneous programming models. By reducing the learning curve, it enables developers to leverage SYCL's power and features more easily.
Source-to-Source Translation Support. SYCLcompat is also designed to facilitate automatic source-to-source translation from other heterogeneous programming models to SYCL and offer a more standardized and consistent programming interface. This feature can significantly streamline the migration and integration of existing codebases into the SYCL ecosystem.
The first commit of this PR includes the proposed library README, providing explanation of its motivation, public interface, usage guidelines, and code examples.
A set of PRs will follow, including subsets of the current implementation including their tests.
We are open to any suggestions, concerns, or improvements you may have, so please, let us know if you have any.
Edit: Updated from extension to stand alone library.
#9976
dims.hpp
anddefs.hpp
headers