[flang-commits] [flang] Parallel runtime library design doc (PRIF) (PR #76088)
Katherine Rasmussen via flang-commits
flang-commits at lists.llvm.org
Wed Jan 22 14:19:22 PST 2025
ktras wrote:
Thank you for the feedback, @kiranchandramohan and @kbeyls. We have updated this PR to address your concerns and are ready for your review.
> Would be good to get the additional license/copyright specification sanitized by the llvm board members. @kbeyls @tlattner
We have updated the PR and we believe the license concern is now resolved.
> This document specifies the interface design for supporting the parallel features of flang.
> This could be mistaken to mean that all parallel features like OpenMP, OpenACC, Do concurrent should use this interface. Is there a better way to specify this? Like support for coarrays or images in Fortran?
The intended scope of PRIF is the multi-image parallel features of Fortran, as outlined by the exhaustive list in section 2. This deliberately omits single-image parallel features such as `do concurrent` and OpenMP/OpenACC integration. We will clarify this via prose updates in a future revision of the document, but feel this alone does not justify a new revision. We have also changed the name of the new version of the markdown file in this PR to use the term "multi-image" to indicate the intended scope.
> It will be great if you could clarify :
>
> 1. whether the concerns that Peter raised could be handled by augmenting or modifying the PRIF spec.
Yes, the features that @klausler asked for are already explicitly addressed in our future work section 7. We agree with the long-term goal of eventually having these features available. We believe it will be possible to later augment the PRIF spec with procedure interfaces that add these features without breaking backwards compatibility with earlier PRIF revisions.
> 2. What is the process for changes to PRIF. Is it OK to modify by making changes to this document?
We don’t intend for this Markdown file to be the canonical definition of PRIF. We want PRIF to be a compilation target for several compilers, and to carry its current Creative Commons CC BY-ND license. For both of these reasons, we now believe we should replace the contents of this PR with a brief document that cites a DOI for an externally hosted open-access copy of the latest PRIF specification. We have not yet settled on a detailed formal process for updating PRIF in future revisions, but we intend it to be an inclusive, open process involving representation from all relevant stakeholders.
> 3. Is this intended as one of the mechanism for supporting coarrays in Flang or as the only mechanism?
We propose PRIF as the sole mechanism for supporting flang’s multi-image features, while allowing and supporting multiple possible library implementations of PRIF.
> 4. Is there an implication that `caffeine` is the only library that should be used with Flang for co-arrays?
No. As an example of potential alternatives, @jeffhammond has communicated an interest in writing an MPI implementation of PRIF and possibly an OpenSHMEM implementation also.
https://github.com/llvm/llvm-project/pull/76088
More information about the flang-commits
mailing list