QUAD2_MPI
Quadrature using MPI


QUAD2_MPI is a FORTRAN77 program which approximates a multidimensional integral using a quadrature rule. The computation is done in parallel by using MPI.

The quadrature rule is defined by three text files:

  1. the "X" file lists the abscissas (N rows, M columns);
  2. the "W" file lists the weights (N rows);
  3. the "R" file lists the integration region corners (2 rows, M columns);

The program assumes that the names of the three files can be deduced from the file_root. For instance, if the file_root was "cc_d2_level5", this implies that

  1. the "X" file is cc_d2_level5_x.txt;
  2. the "W" file is cc_d2_level5_w.txt;
  3. the "R" file is cc_d2_level5_r.txt;

Usage:

quad2_mpi file_root
where

Licensing:

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

Languages:

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

Related Data and Programs:

HEAT_MPI is a FORTRAN77 program which solves the 1D Time Dependent Heat Equation using MPI.

HELLO_MPI, a FORTRAN77 program which prints out "Hello, world!" using the MPI parallel programming environment.

MOAB, examples which illustrate the use of the MOAB job scheduler for a computer cluster.

MPI is a directory of FORTRAN77 examples which illustrate the use of the MPI application program interface for carrying out parallel computatioins in a distributed memory environment.

MULTITASK_MPI, a FORTRAN77 program which demonstrates how to "multitask", that is, to execute several unrelated and distinct tasks simultaneously, using MPI for parallel execution.

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

SATISFY_MPI is a FORTRAN77 program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem, using MPI to carry out the calculation in parallel.

Reference:

  1. William Gropp, Steven Huss-Lederman, Andrew Lumsdaine, Ewing Lusk, Bill Nitzberg, William Saphir, Marc Snir,
    MPI: The Complete Reference,
    Volume II: The MPI-2 Extensions,
    Second Edition,
    MIT Press, 1998.
  2. William Gropp, Ewing Lusk, Anthony Skjellum,
    Using MPI: Portable Parallel Programming with the Message-Passing Interface,
    Second Edition,
    MIT Press, 1999,
    ISBN: 0262571323.
  3. William Gropp, Ewing Lusk, Rajiv Thakur,
    Using MPI-2: Advanced Features of the Message-Passing Interface,
    Second Edition,
    MIT Press, 1999,
    ISBN: 0262571331.
  4. Stan Openshaw, Ian Turton,
    High Performance Computing and the Art of Parallel Programming: an Introduction for Geographers, Social Scientists, and Engineers,
    Routledge, 2000,
    ISBN: 0415156920.
  5. Peter Pacheco,
    Parallel Programming with MPI,
    Morgan Kaufman, 1996,
    ISBN: 1558603395,
    LC: QA76.642.P3.
  6. Sudarshan Raghunathan,
    Making a Supercomputer Do What You Want: High Level Tools for Parallel Programming,
    Computing in Science and Engineering,
    Volume 8, Number 5, September/October 2006, pages 70-80.
  7. Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker, Jack Dongarra,
    MPI: The Complete Reference,
    Volume I: The MPI Core,
    Second Edition,
    MIT Press, 1998,
    ISBN: 0-262-69216-3,
    LC: QA76.642.M65.
  8. Scott Vetter, Yukiya Aoyama, Jun Nakano,
    RS/600 SP: Practical MPI Programming,
    IBM Redbooks, 1999,
    ISBN: 0738413658.
  9. The MPI web site at Argonne National Lab: http://www-unix.mcs.anl.gov/mpi/
  10. The Message Passing Interface Forum,
    MPI: A Message Passing Interface Standard,
    1995,
    Available online from the MPI Forum.
  11. The Message Passing Interface Forum,
    MPI-2: Extensions to the Message Passing Interface,
    1997,
    Available online from the MPI Forum.

Source Code:

Examples and Tests:

CC_D2_LEVEL5 is a quadrature rule for dimension 2, of the fifth level of fineness. Our test involves having the program read this rule, and apply it to estimate the integral of a test function.

QUAD_MPI_STUBS is a test in which we compile the source code with the MPI_STUBS library, so that it only runs on one processor.

QUAD_MPI can be run on System X.

List of Routines:

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


Last revised on 05 May 2008.