Skip to content

Commit

Permalink
[flang][openacc] Representing Fortran descriptor management with Open…
Browse files Browse the repository at this point in the history
…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
vzakhari committed Nov 29, 2023
1 parent 9e7b6f4 commit 002c54a
Showing 1 changed file with 434 additions and 0 deletions.
Loading

0 comments on commit 002c54a

Please sign in to comment.