diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md index 1b45ed4f0..eb3b1bb4c 100644 --- a/GETTING_STARTED.md +++ b/GETTING_STARTED.md @@ -107,7 +107,7 @@ If the `caf` compiler wrapper cannot process the source code in question, invoke the underlying communication library directly: ```bash -mpif90 -fcoarray=lib -L/opt/opencoarrays/ tally.f90 \ -lcaf_mpi -o htally-I/mod +mpif90 -fcoarray=lib -L/opt/opencoarrays/ tally.f90 \ -lcaf_mpi -o htally -I/mod ``` and also run the program with the lower-level communication library: diff --git a/README.md b/README.md index fde921389..95c79d9f2 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Overview -------- [OpenCoarrays] is an open-source software project that supports the coarray Fortran (CAF) parallel programming features of the Fortran 2008 standard and several features proposed for Fortran 2015 in the draft Technical Specification [TS 18508] _Additional Parallel Features in Fortran_. -OpenCoarrays provides a compiler wrapper (named `caf`), a runtime library (named `libcaf_mpi.a` by default), and an executable file launcher (named `cafrun`). With OpenCoarrays-aware compilers, the compiler wrapper passes the provided source code to the chosen compiler (`mpif90` by default). For non-OpenCoarrays-aware compilers, the wrapper transforms CAF syntax into OpenCoarrys procedure calls before invoking the chosen compiler on the transformed code. The runtime library supports compiler communication and synchronization requests by invoking a lower-level communication library--the Message Passing Interface ([MPI]) by default. The launcher passes execution to the chosen communication library's parallel program launcher (`mpirun` by default). +OpenCoarrays provides a compiler wrapper (named `caf`), a runtime library (named `libcaf_mpi.a` by default), and an executable file launcher (named `cafrun`). With OpenCoarrays-aware compilers, the compiler wrapper passes the provided source code to the chosen compiler (`mpif90` by default). For non-OpenCoarrays-aware compilers, the wrapper transforms CAF syntax into OpenCoarrays procedure calls before invoking the chosen compiler on the transformed code. The runtime library supports compiler communication and synchronization requests by invoking a lower-level communication library--the Message Passing Interface ([MPI]) by default. The launcher passes execution to the chosen communication library's parallel program launcher (`mpirun` by default). OpenCoarrays defines an application binary interface ([ABI]) that translates high-level communication and synchronization requests into low-level calls to a user-specified communication library. This design decision liberates compiler teams from hardwiring communication-library choice into their compilers and it frees Fortran programmers to express parallel algorithms once and reuse identical CAF source with whichever communication library is most efficient for a given hardware platform. The communication substrate for OpenCoarrays built with the preferred build system, CMake, is the Message Passing Interface ([MPI]).