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