Hot fix
Compare changes
@@ -7,7 +7,7 @@ The advantage is that only small changes are required to convert existing Fortra
@@ -7,7 +7,7 @@ The advantage is that only small changes are required to convert existing Fortra
A CAF program is interpreted as if it was replicated a number of times and all copies were executed asynchronously.
The number of copies is decided at execution time. Each copy (called *image*) has its own private variables.
The variable syntax of Fortran language is extended with indexes in square brackets (called *co-dimension*), which represents a reference to data distributed across images.
By default, the CAF is using Message Passing Interface (MPI) for lower-level communication, so there are some similarities with MPI.
@@ -15,7 +15,7 @@ Read more on <http://www.opencoarrays.org/>
@@ -15,7 +15,7 @@ Read more on <http://www.opencoarrays.org/>
@@ -28,7 +28,7 @@ Indexing of individual images can be shown on the simple *Hello World* program:
@@ -28,7 +28,7 @@ Indexing of individual images can be shown on the simple *Hello World* program:
Coarray variables can be declared with the **codimension[*]** attribute or by adding trailing index **[*]** after the variable name.
@@ -40,7 +40,7 @@ Notice, the ***** character always has to be in the square brackets.
@@ -40,7 +40,7 @@ Notice, the ***** character always has to be in the square brackets.
Because each image is running on its own, the image synchronization is needed to ensure, that all altered data are distributed to all images.
Synchronization can be done across all images or only between selected images. Be aware, that selective synchronization can lead to the race condition problems like deadlock.
@@ -76,7 +76,7 @@ Example program:
@@ -76,7 +76,7 @@ Example program:
**number** is the local variable while **number[*index*]** accesses the variable in a specific image.
Currently, version 1.8.10 compiled with OpenMPI 1.10.7 library is installed on Cluster. The OpenCoarrays module can be load as follows:
@@ -84,7 +84,7 @@ Currently, version 1.8.10 compiled with OpenMPI 1.10.7 library is installed on C
@@ -84,7 +84,7 @@ Currently, version 1.8.10 compiled with OpenMPI 1.10.7 library is installed on C
@@ -94,7 +94,7 @@ $ caf hello_world.f90 -o hello_world.x
@@ -94,7 +94,7 @@ $ caf hello_world.f90 -o hello_world.x
If the input file extension is **.f** or **.F** the source code will be interpreted as *Fortran 77*.
@@ -104,7 +104,7 @@ $ mpif90 hello_world.f90 -o hello_world.x -fcoarray=lib -lcaf_mpi
@@ -104,7 +104,7 @@ $ mpif90 hello_world.f90 -o hello_world.x -fcoarray=lib -lcaf_mpi
@@ -122,6 +122,6 @@ $ mpiexec -np 4 ./synchronization_test.x
@@ -122,6 +122,6 @@ $ mpiexec -np 4 ./synchronization_test.x
where **-np 4** is number of images to run. The parameters of **cafrun** and **mpiexec** are the same.