QUAD_MPI is a C program, using double precision arithmetic, 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:
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
quad_mpi file_root
where file_root is the "root" name for a set of three files that
define a quadrature rule.
CLENSHAW_CURTIS is a C++ library which can set up a Clenshaw Curtis quadrature grid in multiple dimensions.
HEAT_MPI is a C program which solves the 1D Time Dependent Heat Equation using MPI.
INTEGRAL_TEST is a FORTRAN90 program which uses test integrals to evaluate sets of quadrature points.
MPI is a library of routines for doing parallel programming in a distributed memory environment, using message passing.
OPEN_MP is a library of routines, and a set of compiler directives, which enable parallel programming in a shared memory environment.
PESSL is a parallel mathematical library for use on IBM SP systems.
PETSC is a scientific library for parallel computations.
PRODUCT_RULE is a C++ program which can create a multidimensional quadrature rule as a product of one dimensional rules.
QUAD_MPI is also available in a C++ version and a FORTRAN77 version and a FORTRAN90 version.
QUAD_OPEN_MP is a C++ program which approximates an integral using a quadrature rule, and carries out the computation in parallel using OpenMP.
QUADRATURE_RULES is a dataset directory which contains many examples of files that define quadrature rules.
QUADRATURE_TEST reads files defining a quadrature rule, and applies them to all the test integrals defined by TEST_NINT.
RANDOM_MPI, a C program which demonstrates one way to generate the same sequence of random numbers for both sequential execution and parallel execution under MPI.
SATISFIABILITY_MPI is a C 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.
STROUD is a FORTRAN90 library containing quadrature rules for a variety of unusual areas, surfaces and volumes in 2D, 3D and N-dimensions.
TEST_NINT is a C++ library which defines a set of integrand functions to be used for testing multidimensional quadrature rules and routines.
TESTPACK is a C++ library of functions which define a set of integrands used to test multidimensional quadrature.
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_stubs cc_d2_level5.
QUAD_MPI can be run on System X.
You can go up one level to the C source codes.