You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One original goal of the OpenCoarrays project was to provide a transparent application binary interface (ABI) supported by interchangeable parallel runtime libraries based on a range of communication libraries. The following header files in this directory define that ABI:
5
+
6
+
* libcaf.h
7
+
* libcaf-gfortran-descriptor.h
8
+
* libcaf-version-def.h:
9
+
10
+
where the above files are in dependency order: each file depends on the file(s) listed below it. The [runtime-libraries](./runtime-libraries) subdirectory contains runtimes based on the following communication libraries:
11
+
12
+
* Message Passing Interface (MPI)
13
+
* OpenSHMEM
14
+
* GASNet
15
+
16
+
We currently maintain, build, and test only the MPI runtime. The GASNet and OpenSHMEM runtime library source code serve only to provide detailed, open-source documentation of the research described by [Fanfarillo et al. (2014)] and [Rouson et al. (2017)]. For a Fortran 2018 parallel runtime library based on the more recent GASNet-EX exascale networking middleware described by [Bonachea and Hargrove (2018)], please see the [Caffeine] repository.
17
+
18
+
One exception regarding the transparent nature of the ABI is the [opencoarrays module], which provides a public function that returns the underlying MPI communicator. This capability can be useful for using coarray Fortran to drive an ensemble of simulations using pre-existing MPI as described in [Rouson, McCreight, and Fanfarillo (2017)].
19
+
20
+
[Fanfarillo et al. (2014)]: http://dx.doi.org/10.1145/2676870.2676876
21
+
[Rouson et al. (2017)]: https://doi.org/10.1145/3144779.3169104
22
+
[Bonachea and Hargrove (2018)]: https://doi.org/10.25344/S4QP4W
0 commit comments