User Tools

Site Tools


howto:coarrayfortran

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
howto:coarrayfortran [2017/04/12 23:59]
ccrosby
howto:coarrayfortran [2021/12/09 16:42] (current)
Line 3: Line 3:
 Co-array Fortran allows the programmer to develop distributed memory parallel Fortran programs without having to use MPI explicitly.  Parallelisation is entirely contained within the Fortran language, using a PGAS (partitioned global address space) approach.  In practice, Co-array Fortran is conveniently implemented by using OpenCoarrays, which is an interface built on top of MPI. Co-array Fortran allows the programmer to develop distributed memory parallel Fortran programs without having to use MPI explicitly.  Parallelisation is entirely contained within the Fortran language, using a PGAS (partitioned global address space) approach.  In practice, Co-array Fortran is conveniently implemented by using OpenCoarrays, which is an interface built on top of MPI.
  
-**OpenCoarrays-1.8.4** has been installed in ''/apps/chpc/compmech/OpenCoarrays-1.8.4'' and is compiled using mpich-3.2 and gcc-6.2.0. A modules has been created so simply adding:+**OpenCoarrays-1.8.4** has been installed in ''/apps/chpc/compmech/OpenCoarrays-1.8.4'' and is compiled using mpich-3.2 and gcc-6.2.0. A module has been created so simply adding:
 <code> <code>
 module add chpc/compmech/OpenCoarrays/1.8.4 module add chpc/compmech/OpenCoarrays/1.8.4
 </code> </code>
  
-to your scripts will set up the appropriate paths to OpenCoarrays.  +to your scripts will set up the appropriate paths to OpenCoarrays-1.8.4.   
 + 
 + 
 +**OpenCoarrays-2.3.1** has been installed in ''/apps/chpc/compmech/OpenCoarrays-2.3.1'' and is compiled using mpich-3.3 and gcc-8.3.0. A module has been created so simply adding: 
 +<code> 
 +module add chpc/compmech/OpenCoarrays/2.3.1 
 +</code> 
 +to your scripts will set up the appropriate paths to OpenCoarrays-2.3.1.  
 + 
 +**OpenCoarrays-2.9.2** has been installed in ''/apps/chpc/compmech/OpenCoarrays-2.9.2'' and is compiled using mpich-3.3 and gcc-8.3.0. A module has been created so simply adding: 
 +<code> 
 +module add chpc/compmech/OpenCoarrays/2.3.1 
 +</code> 
 +to your scripts will set up the appropriate paths to OpenCoarrays-2.3.1.  
  
 Co-array programs are compiled using the ''caf'' wrapper, much like ''mpif90'' is used to compile MPI programs.  The compiled binary is then executed using the ''cafrun'' wrapper, similar to ''mpirun'' ''cafrun'' in this case takes the same command line options as the ''mpirun'' wrapper supplied by mpich.  Please bear in mind that mpich will not by default use the infiniband network.  To use the infiniband network, use the following syntax: Co-array programs are compiled using the ''caf'' wrapper, much like ''mpif90'' is used to compile MPI programs.  The compiled binary is then executed using the ''cafrun'' wrapper, similar to ''mpirun'' ''cafrun'' in this case takes the same command line options as the ''mpirun'' wrapper supplied by mpich.  Please bear in mind that mpich will not by default use the infiniband network.  To use the infiniband network, use the following syntax:
Line 23: Line 37:
 cafrun -iface ib0 ./hello cafrun -iface ib0 ./hello
 </code> </code>
 +
 +Please note that this will not necessarily work when using less than the full number of cores per node.  It is probably good practice to explicitly state the number of images and to provide a machinefile.
 + 
  
/app/dokuwiki/data/attic/howto/coarrayfortran.1492034390.txt.gz · Last modified: 2021/12/09 16:42 (external edit)