-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[Flang][OpenMP] Add OpenMP standards support doc #132707
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
Changes from 3 commits
c48a921
06f3a9f
d8b57ea
d1e80fb
97343cd
5e07af4
3230516
fc1595e
ea10fef
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,62 @@ | ||||||
| <!--===- docs/FortranStandardsSupport.md | ||||||
|
|
||||||
| Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||||||
| See https://llvm.org/LICENSE.txt for license information. | ||||||
| SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||||||
|
|
||||||
| --> | ||||||
|
|
||||||
| # Flang OpenMP Standards Support | ||||||
|
|
||||||
| ```{contents} | ||||||
| --- | ||||||
| local: | ||||||
| --- | ||||||
| ``` | ||||||
|
|
||||||
| This document summarizes OpenMP standards support in Flang. The information is only provided as a guideline. The | ||||||
| TODOs/Not Yet Implemented messages emitted by the compiler for unimplemented features should be treated as authoritative. | ||||||
| As of March 2025, standards support is provided upto OpenMP 4.0. We are actively working towards supporting OpenMP 4.5, OpenMP 5.* and OpenMP 6.0. | ||||||
|
||||||
| As of March 2025, standards support is provided upto OpenMP 4.0. We are actively working towards supporting OpenMP 4.5, OpenMP 5.* and OpenMP 6.0. | |
| As of March 2025, standards support is provided up to OpenMP 4.0. We are actively working towards supporting OpenMP 4.5, OpenMP 5.* and OpenMP 6.0. |
From the table below, OpenMP 4.0 support is not 100% complete yet, so maybe "up to" gives a wrong impression here; I'd read it as "4.0 support is fully implemented".
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.
Note that https://clang.llvm.org/docs/OpenMPSupport.html has split OpenMP support into C/C++ & Fortran already. Presumably it makes sense to either fully join those documents, or remove the Fortran side from the clang docs, and just add a reference to this document.
Would it be all right to address this separately? Ideally, each Frontend should list its OpenMP support separately. Removing the entry from Clang would require a separate set of reviewers.
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.
Rewrote the statement regarding standards support.
Changing the support statement in Clang docs is out of scope for this PR.
Outdated
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.
Might want to explain that this is Yes/No/Partial (presumably)
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.
Done
tblah marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
tblah marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
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.
I am conservatively marking all target-related constructs (including combined ones) as Partial support. I can correct the entries if they are fully supported.
Outdated
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.
Should these corner cases be made explicit?
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.
Done.
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.
(OpenMP is not a standard in the true sense, like with the ISO standards.)
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.
Would it be OK to go with OpenMP specification?
This document summarizes the supported features of the OpenMP specification in FlangThere 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.
Done.