From d3ac94398874b8648683b92d79d9152de8b0e15a Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Thu, 5 Mar 2026 19:25:54 -0800 Subject: [PATCH] docs: misc copy-editing --- README.md | 23 +++++++++++++++-------- docs/README-release.md | 2 +- docs/implementation-status.md | 5 ++--- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 3101849e..ea5f6740 100644 --- a/README.md +++ b/README.md @@ -24,25 +24,26 @@ program that execute asynchronously in shared or distributed memory, except where a program uses specific synchronization mechanisms. Fortran's coarray feature provides distributed data structures that offer a subscripted, multidimensional array notation defining a partitioned global address space -(PGAS). One image can use the cosubscript notation to perform one-sided access +(PGAS). One image can use a coindexed notation to perform one-sided access of coarray data associated with another image. -Fortran 2018 greatly expanded this feature set to include such concepts as +Fortran 2018 greatly expanded this feature set to include concepts such as teams (groupings) of images, events (counting semaphores), collective subroutines and failed-image detection (fault tolerance). Fortran 2023 provided additional, minor multi-image extensions, including notified remote data access. Several popular Fortran compilers, including [LLVM Flang](https://flang.llvm.org/docs/FortranStandardsSupport.html) -and LFortran, currently +and [LFortran](https://github.com/lfortran/lfortran), currently lack complete support for multi-image parallel execution. These features are a mandatory part of Fortran, and thus are an important part of reaching full compliance with -the 2008, 2018, or 2023 versions of the Fortran standard. Thanks to PRIF and Caffeine, -the forthcoming LLVM Flang 22 release is expected to support a meaningful subset of -multi-image Fortran features. For more details, see -[LLVM-HPC2025 paper](#Additional-Publications) below. +the 2008, 2018, or 2023 revisions of the Fortran standard. +The latest LLVM Flang 22 release adds experimental support for a +[meaningful subset](https://flang.llvm.org/docs/FortranStandardsSupport.html#fortran-2018) +of multi-image Fortran features using PRIF and Caffeine. +For more details, see [LLVM-HPC2025 paper](#Additional-Publications) below. Caffeine provides a portable, high-performance and open-source parallel -runtime library that such compilers can target in code generation as part of +runtime library that compilers can target in code generation as part of their solution to support Fortran's multi-image parallel features. Prerequisites & Dependencies @@ -132,10 +133,16 @@ using Fortran's multi-image features to print a message from each image. Run tests --------- + +After installation, one can optionally issue the following command to run +Caffeine's correctness unit tests to exercise the PRIF subroutines: + ``` ./run-fpm.sh test ``` +Note that some unit tests are conditionally skipped based on platform and configuration details. + Recognized Environment Variables -------------------------------- diff --git a/docs/README-release.md b/docs/README-release.md index 69015e92..c59a7d91 100644 --- a/docs/README-release.md +++ b/docs/README-release.md @@ -35,7 +35,7 @@ Release Procedure for Caffeine 2. When testing on Perlmutter, use the following steps: 1. Build source and tests on the login node using the desired compiler 2. Get a dedicated node: `salloc -t 10 -N 2 -n 8 -q interactive -A PROJECT_ID -C cpu` - 3. Launch the parallel job to run the tests: `env SUBJOB_PREFIX=skip GASNET_SUPERNODE_MAXSIZE=2 CAF_IMAGES=8 build/run-fpm.sh test --verbose` + 3. Launch the parallel job to run the tests: `env SUBJOB_PREFIX=skip GASNET_SPAWN_VERBOSE=1 GASNET_SUPERNODE_MAXSIZE=2 CAF_IMAGES=8 build/run-fpm.sh test --verbose` 8. Create annotated tag (only after release candidate has been checked by team members) For example `git tag -a #.#.# -m "release version #.#.#"`, then `git push origin #.#.#` 9. Publish the release diff --git a/docs/implementation-status.md b/docs/implementation-status.md index ee20552a..ed93d00d 100644 --- a/docs/implementation-status.md +++ b/docs/implementation-status.md @@ -8,12 +8,11 @@ more details about the implementation of the various PRIF features, please see t following sections: - [Named Constants](#Named-Constants) -- [`stat` and `errmsg` support](#stat-and-errmsg-support) - [Program Startup and Shutdown](#Program-Startup-and-Shutdown) - [Image Queries](#Image-Queries) - [Storage Management](#Storage-Management) - [Coarray Queries](#Coarray-Queries) -- [Continguous Coarray Access](#Continguous-Coarray-Access) +- [Contiguous Coarray Access](#Contiguous-Coarray-Access) - [Strided Coarray Access](#Strided-Coarray-Access) - [SYNC Statements](#SYNC-Statements) - [Locks and Unlocks](#Locks-and-Unlocks) @@ -23,7 +22,7 @@ following sections: - [Collectives](#Collectives) - [Atomic Memory Operations](#Atomic-Memory-Operations) -The priorites for feature implementation and addressing known defects is communicated by +The priorites for feature implementation and addressing known defects are communicated by the labels in the Caffeine [issue tracker](https://github.com/BerkeleyLab/caffeine/issues). ## Named Constants