@@ -4,13 +4,13 @@ Since the introduction of the Fortran 2008 standard, Fortran is a
44parallel language. Unlike the parallel extensions
55[ OpenMP] ( https://www.openmp.org/ ) or
66[ OpenACC] ( https://www.openacc.org/ ) , the coarray parallelism
7- Coarrays is built into the language core, so there no
7+ Coarrays is built into the language core, so there are
88fewer problems with interaction between different standards and
99different standards bodies.
1010
1111This tutorial aims to introduce Fortran coarrays to the general user.
1212A general familiarity with modern Fortran is assumed. People who are
13- not familar, but are familiar with other imperative languages like C
13+ not familar with Fortran , but are familiar with other imperative languages like C
1414might need to refer to other sources such as the [ FortranWiki] ( http://fortranwiki.org/fortran/show/HomePage ) to check what
1515individual language constructs mean.
1616
@@ -25,21 +25,21 @@ memory of other images via special constructs.
2525This is more loosely coupled than the thread model, where threads
2626share variables unless explicitly directed otherwise.
2727
28- Using PGAS means that coarray Fortran can be used on a massively
28+ Using PGAS means that coarray Fortran can be used on a
2929massively parallel computing system as well as a shared-memory
3030implementation on a single, multi-CPU computer.
3131
3232## A remark on compiling and running the example programs
3333
34- If you want to try out the example programs, you need have a coarray-capable
34+ If you want to try out the example programs, you need to have a coarray-capable
3535compiler and know how to compile and run the programs. Setting the number
3636of images is done in a compiler-dependent manner, usually via a compiler option,
3737an environment variable, or, if the system is MPI-based, as an argument
3838to ` mpirun ` .
3939
4040# Images and synchronization
4141
42- One central concepts of coarray Fortran is that of an image. When a
42+ One central concept of coarray Fortran is that of an image. When a
4343program is run, it starts multiple copies (or, possibly, one copy) of
4444itself. Each image runs in parallel until completion, and works
4545independently of other images unless the programmer specifically
@@ -63,6 +63,7 @@ This program will output something like
6363```
6464depending on how many images you run and shows the use of two
6565important functions: The number of images that is run can be found
66+ with the
6667` num_images() ` function and the current image via ` this_image() ` .
6768Both of these are functions that are built into the language
6869(so-called intrinsic functions).
@@ -97,7 +98,7 @@ The output will look something like
9798 Goodbye from image 1 of 4
9899 Goodbye from image 2 of 4
99100```
100- What you can do instead is to put things into order is to insert
101+ What you can do instead to put things into order is to insert
101102` SYNC ALL ` between the two ` write ` statements, like this:
102103```
103104program main
@@ -471,7 +472,7 @@ to have MPI installed to run it.
471472Another possibilility currently under development is the [ shared
472473memory coarray
473474branch] ( https://gcc.gnu.org/git/?p=gcc.git;a=tree;h=refs/heads/devel/coarray_native;hb=refs/heads/devel/coarray_native ) .
474- This is currently under active development, but does not yet have all
475+ This will work without any additional libraries and currently under active development, but does not yet have all
475476features implemented.
476477
477478## Using ifort
0 commit comments