MD_OPEN_MP
Molecular Dynamics using OpenMP


MD_OPEN_MP is a FORTRAN90 program which carries out a molecular dynamics simulation, using OpenMP for parallel execution.

On an Apple PowerPC G5 with two processors, the following results were observed for 400 steps with 1000 processors:
ThreadsTime
1205.151 seconds
2104.487 seconds
4106.248 seconds

Usage:

In the BASH shell, the program could be run with 2 threads using the commands:

        export OMP_NUM_THREADS=2
        ./md_open_mp
      

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Related Data and Programs:

FFT_OPEN_MP is a FORTRAN90 program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.

MD is a FORTRAN90 program which carries out a molecular dynamics simulation, and is intended as a starting point for implementing an OpenMP parallel version.

MD_OPEN_MP is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version.

MD_PARALLEL is a MATLAB program which is intended to be run in parallel using MATLAB's "PARFOR" feature.

MD1 is a FORTRAN90 program which carries out a molecular dynamics simulation.

MD2 is a FORTRAN90 program which carries out a molecular dynamics simulation.

MD3 is a FORTRAN90 program which carries out a molecular dynamics simulation.

MD3GLUE is a FORTRAN90 program which carries out a molecular dynamics simulation.

MDBNCH is a FORTRAN77 program which is a benchmark molecular simulation calculation.

MXV_OPEN_MP, a FORTRAN90 program which compares the performance of plain vanilla Fortran and the FORTRAN90 intrinsic routine MATMUL, for the matrix multiplication problem y=A*x, with and without parallelization by OpenMP.

OPEN_MP, a directory of FORTRAN90 programs which illustrate the use of OpenMP.

OPEN_MP_ITHACA FORTRAN90 programs which illustrate the use of OpenMP on the Virginia Tech ITHACA cluster.

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.

QUAD_OPEN_MP is a FORTRAN90 program which approximates an integral using a quadrature rule, and carries out the computation in parallel using OpenMP.

SATISFIABILITY_OPEN_MP is a FORTRAN90 program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem, using OpenMP for parallel execution.

SGEFA_OPEN_MP is a FORTRAN90 program which reimplements the SGEFA/SGESL linear algebra routines from LINPACK for use with OpenMP.

USING_OPEN_MP_SGI is an HTML document which describes how to start with an OpenMP program on your home machine, transfer it to one of the Virginia Tech SGI systems, compile it, run it, and retrieve the output.

ZIGGURAT_OPEN_MP, a FORTRAN90 program which demonstrates how the ZIGGURAT library can be used to generate random numbers in an OpenMP parallel program.

Reference:

  1. Peter Arbenz, Wesley Petersen,
    Introduction to Parallel Computing - A practical guide with examples in C,
    Oxford University Press,
    ISBN: 0-19-851576-6,
    LC: QA76.58.P47.
  2. 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.
  3. Barbara Chapman, Gabriele Jost, Ruud vanderPas, David Kuck,
    Using OpenMP: Portable Shared Memory Parallel Processing,
    MIT Press, 2007,
    ISBN13: 978-0262533027,
    LC: QA76.642.C49.

Source Code:

Examples and Tests:

MD_OPEN_MP_RUN runs MD_OPEN_MP interactively.

MD_OPEN_MP_BATCH runs MD_OPEN_MP through the batch system.

List of Routines:

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


Last revised on 02 September 2009.