Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[flang][openacc] Representing Fortran descriptor management with Open…
…ACC. (llvm#72725) This document describes the aspects of Fortran descriptor management in the offload data environment and how this semantics can be represented using MLIR OpenACC dialect. In the document I tried to clarify some parts of the OpenACC specification that seemed unclear to me, e.g. where the spec allowed different interpretations (in my opinion) or did not specify the actual runtime behavior. I tried to demonstrate how this ambiguity can affect user programs with examples. The document proposes using `attachRecipe` on the data operations to represent the non-trivial pointer attachment semantics for variables represented by descriptors. The recipe provides the actual implementation of the pointer attachment, e.g. we can call an F18 offload runtime function that will perform all necessary checks and actions. It is unclear at this point if we want to expose the implementation details in FIR, otherwise, the recipe could have contained more low level acc operations such as is_present lookups, host to device memory copies, etc.
- Loading branch information