Skip to content

Latest commit

 

History

History
18 lines (15 loc) · 1.29 KB

README.md

File metadata and controls

18 lines (15 loc) · 1.29 KB

artificial-matrix-generator

This project generates artificial matrices, given specific structural features (parameters), that can be used for sparse-matrix benchmarks. The features that have to be provided to the generator are the following :

  • number of rows
  • number of columns
  • average nonzeros per row
  • standard deviation of nonzeros per row
  • distribution of nonzeros per row (currently "normal" and "gamma" distributions are supported)
  • seed for the random number generator (need to reproduce results on the same artificial matrices across different platforms)
  • placement of nonzeros within row (currently "random", "diagonal" and "simple" are supported)
  • bandwidth of matrix, which confines the column range that a nonzero can be placed at
  • coefficient of skewness, which indicates the imbalance of row length
  • average number of neighboring nonzeros within row (neighbors : maximum distance 1 for column values)
  • similarity between adjacent rows (based on column position of nonzeros)

The output is a struct with the CSR-representation (row-pointer, column-index and values) of the generated sparse matrix and the above mentioned structural features.

An example of the usage of the generator can be found at artificial_matrix.c (called via bash script run.sh)