Skip to content

Commit 82cc223

Browse files
committed
doc(README.md): remove mention of OpenSHMEM
Also direct users to Caffeine for ongoing work on supporting additional communication libraries and compilers.
1 parent 37488fe commit 82cc223

File tree

1 file changed

+37
-35
lines changed

1 file changed

+37
-35
lines changed

README.md

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[https://github.com/sourceryinstitute/OpenCoarrays/blob/master/README.md]:#
66
<div align="center">
77

8-
[![Sourcery Institute][sourcery-institute logo]][Sourcery, Inc.]
8+
[![Sourcery Institute][sourcery-institute logo]][Sourcery Institute]
99

1010
OpenCoarrays
1111
============
@@ -30,25 +30,22 @@ OpenCoarrays
3030
Overview
3131
--------
3232

33-
[OpenCoarrays] supports [Fortran 2018] compilers by providing a
34-
parallel application binary interface (ABI) that abstracts away the
35-
underlying parallel programming model, which can be the Message
36-
Passing Interface ([MPI]) or [OpenSHMEM]. Parallel Fortran 2018
37-
programs may be written and compiled into object files once and
38-
then linked or re-linked to either MPI or [OpenSHMEM] without modifying
39-
or recompiling the Fortran source. Not a single line of source code
40-
need change to switch parallel programming models. The default
41-
programming model is MPI because it provides the broadest capability
42-
for supporting Fortran 2018 features. However, having the option to
43-
change parallel programming models at link-time may enhance portability
44-
and performance (see [Rouson et al. (2017)]).
45-
46-
OpenCoarrays provides a compiler wrapper (`caf`), parallel runtime
47-
libraries (`libcaf_mpi` and `libcaf_openshmem`), and a parallel
48-
executable file launcher (`cafrun`). The wrapper and launcher
49-
provide a uniform abstraction for compiling and executing parallel
50-
Fortran 2018 programs without direct reference to the underlying
51-
parallel programming model.
33+
[OpenCoarrays] supports the GNU Compiler Collection ([GCC]) Fortran compiler
34+
([`gfortran`]) by providing a parallel application binary interface (ABI) that
35+
abstracts away the underlying communication library. OpenCoarrays thus enables
36+
`gfortran` to support Fortran's parallel programming features, often called
37+
"Coarray Fortran," without making direct reference to the back-end communication
38+
library: the Message Passing Interface (MPI). This ensures that Fortran
39+
programs and Fortran compilers may take advantage of other communication
40+
libraries without costly refactoring. Work is underway on the [Caffeine]
41+
project to support alternative communication libraries and alternative compilers
42+
by defining a compiler-independent parallel ABI atop the [GASNet-EX] exascale
43+
networking middleware.
44+
45+
OpenCoarrays provides a compiler wrapper (`caf`), a parallel runtime library
46+
(`libcaf_mpi`), and a program launcher (`cafrun`). The wrapper and launcher
47+
provide a uniform abstraction for compiling and executing Coarray Fortran
48+
without direct reference to the underlying MPI layer.
5249

5350
Downloads
5451
---------
@@ -58,22 +55,20 @@ Please see our [Releases] page.
5855
Compatibility
5956
-------------
6057

61-
The GNU Compiler Collection ([GCC]) Fortran front end ([gfortran]) has
62-
used OpenCoarrays since the GCC 5.1.0 release . Discussions are under
63-
way around incorporating OpenCoarrays into other compilers.
58+
The OpenCoarrays ABI was adopted by `gfortran` in release the GCC 5.1.0 release
59+
and `gfortran` continues to work with OpenCoarrays as of this writing.
6460

6561
Prerequisites
6662
-------------
6763

6864
Building OpenCoarrays requires
6965

70-
* An MPI implementation (default: [MPICH]).
71-
* CMake.
72-
* A Fortran compiler (default: [GCC]).
73-
* _Optional_: An [OpenSHMEM] implementation.
66+
* An MPI implementation,
67+
* CMake, and
68+
* The GCC C and Fortran compilers: `gcc` and `gfortran`.
7469

75-
If you use a package manager or the OpenCoarrays installer, any
76-
missing prerequisites will be built for you.
70+
If you use a package manager or the OpenCoarrays installer, any missing
71+
prerequisites will be built for you.
7772

7873

7974
Installation
@@ -124,6 +119,11 @@ Acknowledgments
124119

125120
We gratefully acknowledge support from the following institutions:
126121

122+
* The U.S. Nuclear Regulatory Commission [NRC] for funding work on supporting
123+
the Windows operating system, the `random_init` subroutine, and the `co_broadcast`.
124+
of objects of derived type with `allocatable` components
125+
* The National Aeronautics and Space Administration [NASA] for funding the work on
126+
supporting the `co_broadcast` objects of derived type.
127127
* [Arm] for approving compiler engineer contributions of code.
128128
* [National Center for Atmospheric Research] for access to the
129129
Yellowstone/Caldera supercomputers and for logistics support during
@@ -137,7 +137,7 @@ We gratefully acknowledge support from the following institutions:
137137
of Energy under Contract No. DE-AC02-05CH11231, for access to the
138138
Hopper and Edison supercomputers under the OpenCoarrays project
139139
start allocation.
140-
* [Sourcery, Inc.], for financial support for the domain registration,
140+
* [Archaeologic Inc.] for financial support for the domain registration,
141141
web hosting, advanced development, and conference travel.
142142

143143
Donate
@@ -169,7 +169,6 @@ to aid in development efforts.
169169
[Contributing]: #contributing
170170
[Acknowledgments]: #acknowledgments
171171

172-
[Fortran 2018]: https://j3-fortran.org/doc/year/18/18-007r1.pdf
173172
[Arm]: https://www.arm.com
174173

175174
[OpenSHMEM]: http://www.openshmem.org/site/
@@ -178,9 +177,9 @@ to aid in development efforts.
178177
[ABI]: https://gcc.gnu.org/onlinedocs/gfortran/Coarray-Programming.html#Coarray-Programming
179178
[MPI]: https://www.mpi-forum.org/
180179
[GCC]: https://gcc.gnu.org
181-
[gfortran]: https://gcc.gnu.org/wiki/GFortran
180+
[`gfortran`]: https://gcc.gnu.org/wiki/GFortran
182181
[MPICH]: https://www.mpich.org
183-
[Sourcery, Inc.]: http://www.sourceryinstitute.org
182+
[Sourcery Institute]: http://www.sourceryinstitute.org
184183
[Google]: https://www.google.com
185184
[CINECA]: https://www.cineca.it/en
186185
[NERSC]: https://www.nersc.gov
@@ -210,7 +209,10 @@ to aid in development efforts.
210209
[release img]: https://img.shields.io/github/release/sourceryinstitute/OpenCoarrays.svg?style=flat-square "Latest release badge"
211210
[pdf img]: https://img.shields.io/badge/PDF-README.md-6C2DC7.svg?style=flat-square "Download this readme as a PDF"
212211
[twitter img]: https://img.shields.io/twitter/url/http/shields.io.svg?style=social
213-
[Writing Fortran 2018 Today]: https://www.eventbrite.com/e/writing-fortran-2018-today-object-oriented-parallel-programming-tickets-48982176007
214-
[Rouson et al. (2017)]: http://www.opencoarrays.org/uploads/6/9/7/4/69747895/a4-rouson.pdf
212+
[NRC]: https://www.nrc.gov
213+
[NASA]: https://www.nasa.gov
214+
[Caffeine]: https://go.lbl.gov/caffeine
215+
[Archaeologic Inc.]: https://www.archaeologic.codes
216+
[GASNet-EX]: https://go.lbl.gov/gasnet
215217

216218
[default tweet]: https://twitter.com/intent/tweet?hashtags=HPC,Fortran,PGAS&related=zbeekman,gnutools,HPCwire,HPC_Guru,hpcprogrammer,SciNetHPC,DegenerateConic,jeffdotscience,travisci&text=Stop%20programming%20w%2F%20the%20%23MPI%20docs%20in%20your%20lap%2C%20try%20Coarray%20Fortran%20w%2F%20OpenCoarrays%20%26%20GFortran!&url=https%3A//github.com/sourceryinstitute/OpenCoarrays

0 commit comments

Comments
 (0)