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

Project renaming to AdaptiveCpp #1147

Open
illuhad opened this issue Sep 19, 2023 · 5 comments
Open

Project renaming to AdaptiveCpp #1147

illuhad opened this issue Sep 19, 2023 · 5 comments
Labels
discussion General discussion about something

Comments

@illuhad
Copy link
Collaborator

illuhad commented Sep 19, 2023

Due to external legal pressure being applied on the old name, Open SYCL, we unfortunately were forced to abandon this name and look for a new one. See here for details: #999 (comment)

After a lengthy community discussion, we have settled on a new name: AdaptiveCpp.

This name encapsulates how the project allows an application to adapt to any hardware it can find one the system, and it highlights the adaptability and flexibility of our compiler and runtime. Additionally, we have also taken this opportunity to highlight that we are no longer just focusing on SYCL by using the "Cpp" suffix. With #1088, the project has gained support for offloading C++ standard parallelism, and is indeed currently the only solution that can offload regular C++ parallel STL algorithms to GPUs from Intel, NVIDIA, and AMD -- even from the same binary.
Thus, the new name should allow the project more room for growth and incorporate these new directions better, as it is now a generic solution for heterogeneous programming in C++.

In the coming days, weeks and months, we will be iteratively moving to the new name. Backwards compatibility to the older hipSYCL and Open SYCL naming schemes will be maintained for user interfaces as far as feasible.

Initially, documentation, cmake infrastructure, compiler flags, repository name and the compiler name (syclcc is now called acpp) will be migrated to the new name.

In the more long term future, other, more deeply ingrained usage of the older name will be tackled (internal usage, builtin names, namespace names etc).

Thank you so much to everybody who has contributed to this process, and thanks to everybody for the patience while we were working on finding a path forward. Looking back, I feel utterly humbled by all the support we have received from this awesome community! ❤️ ❤️

@illuhad illuhad added the discussion General discussion about something label Sep 19, 2023
@illuhad illuhad pinned this issue Sep 19, 2023
al42and added a commit to PDC-support/introduction-to-gpu that referenced this issue Sep 20, 2023
al42and added a commit to ENCCS/gpu-programming that referenced this issue Sep 22, 2023
See AdaptiveCpp/AdaptiveCpp#1147

Still reference the old name a lot, because it's widely known

Closes #37
@al42and
Copy link
Contributor

al42and commented Oct 20, 2023

https://github.com/KhronosGroup/Khronosdotorg/blob/main/api/sycl/resources.md is due for an update. Not just the name, but the description too.

@illuhad
Copy link
Collaborator Author

illuhad commented Oct 20, 2023

@al42and Thanks, I've created a PR: KhronosGroup/Khronosdotorg#142

@al42and
Copy link
Contributor

al42and commented Nov 2, 2023

@illuhad: When it comes to renaming configuration macros (such as __HIPSYCL_ENABLE_HIP_TARGET__) and feature-test macros (such as HIPSYCL_EXT_QUEUE_WAIT_LIST), will the new name use ACPP or ADAPTIVECPP?

Thinking of future-proofing our code by adding both new and old names to various compile-time checks.

@illuhad
Copy link
Collaborator Author

illuhad commented Nov 2, 2023

The old names will definitely be kept for the macros for some time for backwards compatibility, so there should not be an immediate urgency for you to do this.

To your question: I haven't decided yet. You previously argued that the basis for the choice between AdaptiveCpp and the abbreviation should be the risk for name collisions. I think that for everything that starts with __, we could safely use __ACPP. For the rest I'm not sure. Do you think the risk of name collisions is low enough if we have ACPP_* ?

@al42and
Copy link
Contributor

al42and commented Nov 2, 2023

The old names will definitely be kept for the macros for some time for backwards compatibility, so there should not be an immediate urgency for you to do this.

GROMACS 2024 will be in active support till January 2025 (and maintained for one more year). We cannot promise to support unreleased ROCm/AdaptiveCpp versions, but we try to improve the chances of forward-compatibility where possible. And macros look like an easy thing to do.

Also, it would be nice to have new macros sooner rather than later. E.g., today, one still has to check HIPSYCL* macros as long as compatibility with AdaptiveCpp 23.10 is needed. The sooner new macro names are added, the sooner client software can abandon all mentions of the old name (which I have nothing against, but it makes things confusing).

Do you think the risk of name collisions is low enough if we have ACPP_* ?

I guess it's low; on the other hand, the benefit of shorter name is also low, so 🤷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion General discussion about something
Projects
None yet
Development

No branches or pull requests

2 participants