OPEN_MP_ITHACA
FORTRAN90 Programs Using OpenMP on Virginia Tech's ITHACA Cluster


OPEN_MP_ITHACA is a directory of FORTRAN90 examples which show the results of running various FORTRAN90 programs on the Virginia Tech ITHACA cluster, with the OpenMP system for parallel programming on shared memory machines.

In general, the programs were compiled with a command like:

gfortran -fopenmp compute_pi.f90
and then the number of threads were declared by
export OMP_NUM_THREADS=8
for the Bourne, Korn or Bash shells, or
setenv OMP_NUM_THREADS 8
for the C or T shells, and then the program was run with a command like
compute_pi > compute_pi_output.txt

Related Data and Programs:

MPI is a directory of FORTRAN90 programs which illustrate the use of parallel programming in a distributed memory environment, using MPI.

OPEN_MP is a directory of FORTRAN90 examples which illustrate the use of the OpenMP application program interface for carrying out parallel computations in a shared memory environment.

OPEN_MP_STUBS is a FORTRAN90 library which implements a "stub" version of OpenMP, so that an OpenMP program can be compiled, linked and executed on a system that does not have OpenMP installed.

OPEN_MP_ITHACA examples are available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version.

OPEN_MP_SGI FORTRAN90 programs which illustrates the use of OpenMP on the Virginia Tech SGI systems.

Reference:

  1. Rohit Chandra, Leonardo Dagum, Dave Kohr, Dror Maydan, Jeff McDonald, Ramesh Menon,
    Parallel Programming in OpenMP,
    Morgan Kaufmann, 2001,
    ISBN: 1-55860-671-8,
    LC: QA76.642.P32.
  2. Barbara Chapman, Gabriele Jost, Ruud vanderPas, David Kuck,
    Using OpenMP: Portable Shared Memory Parallel Processing,
    MIT Press, 2007,
    ISBN13: 978-0262533027.
  3. OpenMP Application Program Interface,
    Version 2.5,
    May 2005.

Examples and Tests:

COMPUTE_PI shows how information can be shared. Several processors need to compute pieces of a sum that will approximate pi.

HELLO is a very simple program which calls an OpenMP subroutine to set the number of threads, and then has each thread say hello;

HELMHOLTZ is a more extensive program that solves the Helmholtz equation on a regular grid, using a Jacobi iterative linear equation solver with overrelaxation;

MD is a time dependent molecular dynamics code;

You can go up one level to the FORTRAN90 source codes.


Last revised on 28 August 2009.