Code Monkey home page Code Monkey logo

coarray_icar's Introduction

Coarray ICAR

National Center for Atmospheric Research

This document provides information about the Coarray ICAR program.

CONTENTS

Installation and testing

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.

Installation and execution via Make and GCC in a bash shell:

$ 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.

Installation via CMake and execution via CTest:

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

Build options

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).

System requirements

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

Generating documentation

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 &

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.