This document provides information about the Coarray ICAR program.
The first execution creates three *.dat files and takes about 30 minutes usin 4 cores inside a Lubuntu Linux virtualmachine. Subsequent executions will read the *.dat files and executive run much faster than the first run.
$ cd coarray_icar/src/tests
$ export COMPILER=gnu
$ make USE_ASSERTIONS=.true.
$ cafrun -n 4 ./test-ideal
which will run the test-ideal
executable program in 4 images.
Compile and test coarray in a bash shell on a Linux, macOS, or the Windows Subsystem for Linux:
cd <path-to-coarray-icar> # Change directory to the coarray_icar source directory
mkdir build # create the build directory
cd build
FC=<compiler-command> cmake .. -DCMAKE_INSTALL_PREFIX=<coarray-icar-install-path>
make -j <number-of-processes>
ctest
where
- <path-to-coarray-icar> is the location of of the downloaded coarray ICAR source archive
- <number-of-processes> is a count of the parallel processes that
make
should use, and - <compiler-command> is the command you use to invoke the compiler of your choice.
- <coarray-icar-install-path> is the desired location for installing coarray ICAR
For example, you might specify, ~/coarray_icar
, 4
, caf
, and ~/bin
, respectively, if the Coarray
ICAR source is in your home directoy, you want to accelerate the build by using 4 parallel processes, and
you use the command caf
to invoke the GNU Fortran compiler via the [OpenCoarrays] wrapper.
Alternatively, specify ifort
as the compiler command for to invoke the Intel Fortran compiler
and optionally specific -DDISTRIBUTED:BOOL=ON
to compile using the Intel Parallel Studio Cluster Edition
for execution on distributed-memory platforms:
FC=ifort cmake .. -DDISTRIBUTED:BOOL=ON
Append -DNO_ASSERTIONS=ON
to the above cmake
command to turn off runtime checking of assertions.
Including assertions enhances the runtime error checking at a significant cost (factor of 2 in runtime).
The following operating systems are supported:
- Windows 10 Ubuntu Subsystem for Linux beta
- Linux
- macOS
The following compilers are supported:
- Intel Fortran Compiler Version 16.0.0 or later
- GNU Fortran Compiler Version 6.3.0 (a regression prevents the use of later versions)
- Cray Fortran Compiler (untested)
The following build software is supported:
- CMake 3.10 or later OR
- GNU Makefile
Install the FORD Fortran documentation generator and type
ford doc-generator.md
which will create doc/
subdirectory containing HTML files. Open
doc/index.html
for the Coarray ICAR documentation. On Linux, you
might exeute the following at the command prompt:
firefox doc/index.html &