Skip to content
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

Depercated dpcpp by sycl #1397

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from
Open

Depercated dpcpp by sycl #1397

wants to merge 8 commits into from

Conversation

yhmtsai
Copy link
Member

@yhmtsai yhmtsai commented Aug 22, 2023

Replace namespace/compile flag dpcpp and DpcppExecutor with sycl and SyclExecutor.
Also, replace a lot of dpcpp-related variable and name.

For namespace deprecation, it's a little weird.
Although https://en.cppreference.com/w/cpp/language/attributes/deprecated shows the namespace deprecation should be available since c++14, clang will show it from c++17-extension like https://stackoverflow.com/questions/22806878/is-there-a-way-to-deprecate-a-namespace
clang only mentions it as c++17-extension after 6.
I do not find a way to disable c++17-extension for -std=c++14 to check the behavior without the extension.
Currently, I only provide the function or type alias deprecation for those public functions or types.

However, introducing the sycl namespace leads the type/function from sycl standard are not found by sycl::....
Thus, it's required to use ::sycl::... for all of them.
Another way is to add using namespace ::sycl; in the gko sycl namespace (maybe the include/ginkgo/core/base/executor.hpp is a good place because everything will include it).
or use another name for namespace.

TODO:

  • based on add icpx support #1350
  • dpcpp folder to sycl folder?
  • .dp.cpp/hpp to .sycl.cpp/hpp or just normal .cpp/hpp
  • ginkgo_dpcpp to ginkgo_sycl (considered as public, I think) -> provide symlink for that

@yhmtsai yhmtsai added the 1:ST:WIP This PR is a work in progress. Not ready for review. label Aug 22, 2023
@yhmtsai yhmtsai requested review from a team August 22, 2023 14:51
@yhmtsai yhmtsai self-assigned this Aug 22, 2023
@ginkgo-bot ginkgo-bot added reg:build This is related to the build system. reg:testing This is related to testing. reg:ci-cd This is related to the continuous integration system. reg:documentation This is related to documentation. mod:core This is related to the core module. mod:cuda This is related to the CUDA module. mod:openmp This is related to the OpenMP module. reg:example This is related to the examples. reg:benchmarking This is related to benchmarking. type:solver This is related to the solvers type:preconditioner This is related to the preconditioners type:matrix-format This is related to the Matrix formats mod:hip This is related to the HIP module. type:factorization This is related to the Factorizations type:reordering This is related to the matrix(LinOp) reordering type:multigrid This is related to multigrid type:stopping-criteria This is related to the stopping criteria mod:dpcpp This is related to the DPC++ module. labels Aug 22, 2023
@ginkgo-bot
Copy link
Member

Error: The following files need to be formatted:

dpcpp/preconditioner/jacobi_common.hpp.in

You can find a formatting patch under Artifacts here or run format! if you have write access to Ginkgo

@yhmtsai yhmtsai force-pushed the icpx_compilation branch 5 times, most recently from 26d266c to acf7a82 Compare October 13, 2023 12:52
Base automatically changed from icpx_compilation to develop October 14, 2023 08:55
@tcojean tcojean added this to the Ginkgo 1.9.0 milestone May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1:ST:WIP This PR is a work in progress. Not ready for review. mod:core This is related to the core module. mod:cuda This is related to the CUDA module. mod:dpcpp This is related to the DPC++ module. mod:hip This is related to the HIP module. mod:openmp This is related to the OpenMP module. reg:benchmarking This is related to benchmarking. reg:build This is related to the build system. reg:ci-cd This is related to the continuous integration system. reg:documentation This is related to documentation. reg:example This is related to the examples. reg:testing This is related to testing. type:factorization This is related to the Factorizations type:matrix-format This is related to the Matrix formats type:multigrid This is related to multigrid type:preconditioner This is related to the preconditioners type:reordering This is related to the matrix(LinOp) reordering type:solver This is related to the solvers type:stopping-criteria This is related to the stopping criteria
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants