[all-commits] [llvm/llvm-project] 002c54: [flang][openacc] Representing Fortran descriptor m...
Slava Zakharin via All-commits
all-commits at lists.llvm.org
Wed Nov 29 11:42:43 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 002c54a2e6cced2eb9d79608afee5fb36dcc5b98
https://github.com/llvm/llvm-project/commit/002c54a2e6cced2eb9d79608afee5fb36dcc5b98
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2023-11-29 (Wed, 29 Nov 2023)
Changed paths:
A flang/docs/OpenACC-descriptor-management.md
Log Message:
-----------
[flang][openacc] Representing Fortran descriptor management with OpenACC. (#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.
More information about the All-commits
mailing list