MXV
Matrix Vector Multiplication Timings


MXV is a FORTRAN90 program which sets up several matrix vector multiplication problems y=A*x, and carries them out using

The user is allowed to specify M and N, the number of matrix rows and columns.

Usage:

mxv m n
where

Sample Results:

          M        N       FLOP  doIdoJ  doJdoI  MATMUL

         10       10        100       8      11       3

         10      100      1,000      27      29      32
        100       10      1,000      23      31      32

         10    1,000     10,000      35      33     172
        100      100     10,000      31      36     200
      1,000       10     10,000      42      54     277

         10   10,000    100,000      18      33     159
     10,000       10    100,000      25      34     176

         10  100,000  1,000,000      16      32     142
        100   10,000  1,000,000       6      37     174
      1,000    1,000  1,000,000      17      40     234
     10,000      100  1,000,000      28      37     171
    100,000       10  1,000,000      24      33      88
      

Licensing:

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

Languages:

MXV is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

F90_INTRINSICS, FORTRAN90 programs which illustrate the use of FORTRAN90 intrinsic functions.

LINPACK_BENCH, a FORTRAN90 program which measures the time needed to factor and solve a "large" (N=1000) dense linear system of equations, and is used as a benchmark.

MATMUL, a FORTRAN90 program which is an interactive matrix multiplication benchmark program.

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

MXM, a FORTRAN90 program which sets up a matrix multiplication problem A=B*C of arbitrary size, and compares the time required for IJK, IKJ, JIK, JKI, KIJ and KJI orderings of the loops.

MXV_OPENMP, 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.

NAS, a FORTRAN90 program which runs the NASA kernel benchmark.

SUM_MILLION, 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, FORTRAN90 programs which demonstrate 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:

List of Routines:

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


Last revised on 23 May 2008.