Mutliplication of a sparse matrix with a dense vector
=====================================================

This is the algorithm discussed in "Data Parallel Haskell: a status report"
(http://www.cse.unsw.edu.au/~chak/papers/CLPKM07.html). See also
http://www.cs.cmu.edu/~scandal/nesl/alg-numerical.html#mvmult.

smvm --help displays the available options.

Generating test data
--------------------

mksm COLS ROWS RATION FILE

generates a test matrix with COLS columns and ROWS rows and writes it to FILE.
RATIO determines the fill ration; e.g., 0.1 here generates a matrix with 9 out
10 of elements being zero.

WARNING: The generated files can be quite large. For instance, a 10000x10000
matrix with a fill ratio of 0.1 (i.e. with approx. 10 millions non-zero
elements) is over 150MB on my computer. Also, the files binary, i.e., they
have to be regenerated for every new architecture. Matrix generation can take
quite a long time as it is not optimised at all.

Sequential C benchmark
----------------------

smvm-c RUNS FILE

Benchmark
---------

smvm --help displays the available options.

The following algorithms are supported:

  smvms - sequential implementation
  smvmp - parallel implementation


No parallel implementation is available yet as the library is missing
functionality.

