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

BUG: Update clang OpenMP conformance page to reflect actual implementation status #63633

Open
h-vetinari opened this issue Jul 1, 2023 · 13 comments
Labels
clang Clang issues not falling into any other category documentation openmp

Comments

@h-vetinari
Copy link
Contributor

Hi!

I help in the conda-forge ecosystem, which is like a cross-platform distribution of non-system libraries. Our compiler stack on osx is LLVM, and openmp is used in many other places too of course.

Being unable to follow the day-to-day development of literally hundreds of projects, I rely on release notes & status pages. For OpenMP there's https://clang.llvm.org/docs/OpenMPSupport.html, but this page seems un(der)maintained based on several observations:

  • OpenMP 5.1 was recently made the default version in https://reviews.llvm.org/D129635, even though apparently ~60-70% of that standard aren't implemented according to the status page.
  • OpenMP 5.2 is not mentioned even though features for that are being implemented (example).
  • There's very low commit volume to that page, and (without pointing fingers, just using an example I came across today) commits like 085845a don't update the status page despite implementing things.

It's important for users to know what clang supports, and arguably even more so for library authors & distributors, where the level of feature support across different openmp implementations is one of the key factors whether a feature can be used more broadly.

PS. Now that there's also flang in LLVM, the implementation status presumably also affects flang, resp. how flang presents its implementation status, see #62310.

@EugeneZelenko EugeneZelenko added documentation clang Clang issues not falling into any other category openmp and removed new issue labels Jul 1, 2023
@llvmbot
Copy link
Collaborator

llvmbot commented Jul 1, 2023

@llvm/issue-subscribers-openmp

@h-vetinari
Copy link
Contributor Author

@jhuber6, could you weigh in perhaps?

@jhuber6
Copy link
Contributor

jhuber6 commented Jul 10, 2023

I actually don't know that much about a lot of the implementation status of these things. There's probably a few things in that I could take a look at and try to update, but overall my knowledge of different features is weak. We definitely want to reflect what's actually supported, I think we've brought this up a few times in the weekly meetings with other OpenMP developers.

@h-vetinari
Copy link
Contributor Author

@jdoerfert1, I thought about this again today - it would be great to have an accurate status for the 17.0 release, especially with the changed OpenMP default version.

CC @AaronBallman as clang meta-owner

Footnotes

  1. openmp ownership is hard to determine as an outsider; there's no CodeOwners file, so I'm going by perception of commit/issue volume

@AaronBallman
Copy link
Collaborator

  1. openmp ownership is hard to determine as an outsider; there's no CodeOwners file, so I'm going by perception of commit/issue volume

OpenMP conformance

CC @alexey-bataev

@alexey-bataev
Copy link
Member

https://clang.llvm.org/docs/OpenMPSupport.html is updated regularly, depending on the progress of OpenMP features support in clang. flang has nothing to do with this, separate project and it should track its own progress.

@h-vetinari
Copy link
Contributor Author

It got a few updates recently, but still does not mention openmp 5.2, although commits for that are landing already (see OP).

Together with making a half-implemented version (according to the status page at least) the default, it just does not give the impression that the information is complete. It's possible that it is, but that's really hard to verify or disprove from the outside.

@h-vetinari
Copy link
Contributor Author

I saw that there was a big update with 59fdd4c recently, thanks @chichunchen!

@h-vetinari
Copy link
Contributor Author

I still think that with the OpenMP 5.2 specification going on 2 years since publication, and having commits and code in clang already, it should also be reflected in the status page.

@h-vetinari
Copy link
Contributor Author

Could we please get an update of https://clang.llvm.org/docs/OpenMPSupport.html as of LLVM 18?

@AaronBallman
Copy link
Collaborator

CC @alexey-bataev @jdoerfert @mikerice1969 for help trying to update the status page for the 18.x release.

@h-vetinari
Copy link
Contributor Author

Gentle ping on this.

@alexey-bataev
Copy link
Member

There was not much development recently, so it is almost up-to-date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang Clang issues not falling into any other category documentation openmp
Projects
None yet
Development

No branches or pull requests

6 participants