MATMUL
A Matrix Multiplication Benchmark


MATMUL is a FORTRAN90 program which compares various methods for computing the matrix product


        A * B = C.
      

MATMUL can do this for a variety of matrix sizes, and for different arithmetics (real, complex, double precision, integer, even logical!) There are many algorithms built in, including the simple triple DO loop (actually not so simple; there are 6 ways to set it up), some unrolling techniques, and the level 1 and 2 BLAS routines.

MATMUL is interactive, so the user can easily pursue any line of inquiry that seems promising. New algorithms or locally available methods are not to hard to add.

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:

LINPACK_BENCH is a FORTRAN90 program which measures the time needed to factor and solve a linear system.

MATMUL is available in a FORTRAN77 version and a FORTRAN90 version.

MDBNCH is a FORTRAN77 program which is a benchmark code for a molecular dynamics calculation.

MEMORY_TEST is a FORTRAN90 program which declares and uses a sequence of larger and larger vectors, to see how big a vector can be used on a given machine and compiler.

MXV, a FORTRAN90 program which compares the performance of (DO I, DO J) loops, (DO J, DO I ) loops, and MATMUL for computing the product of an MxN matrix A and an N vector X.

SUM_MILLION is a FORTRAN90 program which sums the integers from 1 to 1,000,000, as a demonstration of how to rate a computer's speed;

TIMER is a FORTRAN90 program which demonstrates how to compute CPU time or elapsed time.

Reference:

  1. John Burkardt, Paul Puglielli,
    Pittsburgh Supercomputing Center,
    MATMUL: An Interactive Matrix Multiplication Benchmark

Source Code:

Examples and Tests:

List of Routines:

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


Last revised on 23 March 2008.