Skip to content

Commit 4890828

Browse files
authored
Merge pull request #261 from ktras/pre-release-0.6-chores
Pre-release 0.6 chores
2 parents 5acca64 + 6d3c0c3 commit 4890828

File tree

4 files changed

+25
-15
lines changed

4 files changed

+25
-15
lines changed

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ visit https://gasnet.lbl.gov
7777

7878
* ---------------------------------------------------------------------------
7979

80-
Global-Address Space Networking for Exascale (GASNet-EX) Copyright (c) 2000-2024,
80+
Global-Address Space Networking for Exascale (GASNet-EX) Copyright (c) 2000-2025,
8181
The Regents of the University of California, through Lawrence Berkeley National
8282
Laboratory (subject to receipt of any required approvals from the U.S. Dept. of
8383
Energy). All rights reserved.

README.md

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,25 @@ parallelism beginning with Fortran 2008. In Fortran, SPMD programming
2121
involves the creation of a fixed number of images (instances) of a
2222
program that execute asynchronously in shared or distributed memory, except
2323
where a program uses specific synchronization mechanisms. Fortran's
24-
"coarray" distributed data structures offer a subscripted,
24+
coarray feature provides distributed data structures that offer a subscripted,
2525
multidimensional array notation defining a partitioned global address space
26-
(PGAS). One image can use this notation for one-sided access to another
27-
image's slice of a coarray.
26+
(PGAS). One image can use the cosubscript notation to perform one-sided access
27+
of coarray data associated with another image.
2828

2929
Fortran 2018 greatly expanded this feature set to include such concepts as
3030
teams (groupings) of images, events (counting semaphores), collective
3131
subroutines and failed-image detection (fault tolerance). Fortran 2023 provided
3232
additional, minor multi-image extensions, including notified remote data access.
3333

34-
Several popular Fortran compilers, including LLVM `flang` and LFortran, currently
35-
lack support for multi-image parallel execution. These features are a mandatory
34+
Several popular Fortran compilers, including LLVM Flang and LFortran, currently
35+
lack complete support for multi-image parallel execution. These features are a mandatory
3636
part of Fortran, and thus are an important part of reaching full compliance with
37-
the 2008, 2018, or 2023 versions of the Fortran standard.
37+
the 2008, 2018, or 2023 versions of the Fortran standard. Thanks to PRIF and Caffeine,
38+
the forthcoming LLVM Flang 22 release is expected to support a meaningful subset of
39+
multi-image Fortran features. For more details, see
40+
[LLVM-HPC2025 paper](#Additional-Publications) below.
3841

39-
Caffeine aims to provide a portable, high-performance and open-source parallel
42+
Caffeine provides a portable, high-performance and open-source parallel
4043
runtime library that such compilers can target in code generation as part of
4144
their solution to support Fortran's multi-image parallel features.
4245

@@ -45,9 +48,9 @@ Prerequisites & Dependencies
4548
### Build prerequisites
4649
The `install.sh` script uses the following packages:
4750
* Fortran and C compilers
48-
* We regularly test with: gfortran v13, v14 and LLVM Flang 19, 20
49-
* On macOS the Homebrew-installed llvm and flang packages may require some
50-
additional settings, see issue #228 for the latest information.
51+
* We regularly test with: GNU Fortran versions 13, 14 and LLVM Flang versions 19, 20, 21
52+
* On macOS the Homebrew-installed `llvm` and `flang` packages may require some
53+
additional settings, see [issue #228](https://github.com/BerkeleyLab/caffeine/issues/228) for the latest information.
5154
* [Fortran package manager] `fpm`
5255
* [pkg-config]
5356
* [realpath]
@@ -102,7 +105,7 @@ but C++ is required for some network backends.
102105

103106
The `install.sh` recognizes a number of command-line options and environment variables to
104107
customize behavior for your system. See the output of `./install.sh --help` for full documentation,
105-
including options for how to build for a distributed memory platform.
108+
including options for how to build for a distributed-memory platform.
106109

107110

108111
Example Usage
@@ -184,6 +187,13 @@ PRIF Committee.
184187
Lawrence Berkeley National Laboratory Technical Report (LBNL-2001698), Sept 2025.
185188
<https://doi.org/10.25344/S4M01X>
186189

190+
### Additional Publications:
191+
192+
Dan Bonachea, Katherine Rasmussen, Damian Rouson, Jean-Didier Pailleux, Etienne Renault, Brad Richardson.
193+
"[**Lowering and Runtime Support for Fortran’s Multi-Image Parallel Features using LLVM Flang, PRIF, and Caffeine**](https://doi.org/10.25344/S4G883)",
194+
Proceedings of the [Eleventh Annual Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC2025)](https://llvm-in-hpc-workshop.github.io/LLVM-HPC-2025-Workshop.github.io/), November 2025.
195+
Paper: <https://doi.org/10.25344/S4G883>
196+
187197
Funding
188198
-------
189199
The Computer Languages and Systems Software ([CLaSS]) Group at [Berkeley Lab] has developed Caffeine

install.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ EOF
4848
}
4949

5050
GCC_VERSION=${GCC_VERSION:=14}
51-
GASNET_VERSION="stable"
51+
GASNET_VERSION="2025.8.0"
5252
VERBOSE=""
5353
GASNET_CONDUIT="${GASNET_CONDUIT:-smp}"
5454

@@ -433,7 +433,7 @@ CAFFEINE_FPM_CFLAGS=$GASNET_CFLAGS $GASNET_CPPFLAGS
433433
Name: caffeine
434434
Description: Coarray Fortran parallel runtime library
435435
URL: https://gitlab.lbl.gov/berkeleylab/caffeine
436-
Version: 0.5.3
436+
Version: 0.6.0
437437
EOF
438438

439439
exit_if_pkg_config_pc_file_missing "caffeine"

manifest/fpm.toml.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name = "caffeine"
2-
version = "0.5.3"
2+
version = "0.6.0"
33
license = "BSD-3-Clause-LBNL"
44
author = ["Damian Rouson", "Brad Richardson", "Katherine Rasmussen", "Dan Bonachea"]
55
maintainer = "[email protected]"

0 commit comments

Comments
 (0)