[flang-commits] [flang] Parallel runtime library design doc (PRIF) (PR #76088)

Jeff Hammond via flang-commits flang-commits at lists.llvm.org
Mon May 6 21:29:48 PDT 2024


jeffhammond wrote:

`prif_base_pointer` does not describe the failure mode when memory is not accessible via load-store at the specified image.  This function seems equivalent to `shmem_ptr`, which is documented to return `NULL` when remote memory is not accessible via pointers.

Assuming I infer correctly that this function plus the raw operations are designed to optimize for shared-memory communication via load-store, there needs to be a high-level semantic overview of the purpose of these functions and their difference from the non-raw operations (which need to include strided variants, as noted above).

If I do not infer correctly the use case, then I disagree with the design.

Side note: I have implemented OpenSHMEM on top of MPI with the general case and specialization for the shared-memory path (https://github.com/jeffhammond/oshmpi/blob/master/src/shmem-internals.c).  It is going to be important to support both use cases because we want coarrays to be competitive with shared-memory parallelism (e.g. OpenMP) when programs run within a shared-memory domain.

https://github.com/llvm/llvm-project/pull/76088


More information about the flang-commits mailing list