SMG2S - Scalable Matrix Generator with Given Spectrum

SMG2S - Scalable Matrix Generator with Given Spectrum

SMG2S is a library which is able to generate large-scale non-Hermitian and non-Symmetric sparse matrices given a specific spectrum provided by users before generation. SMG2S can be used to generate very large test matrices with customized spectral properties to benchmark iterative solvers for both linear systems and eigenvalue problems on supercomputers. SMG2S implementation based on MPI and C++11 maintaining good parallel efficiency.

SMG2S - Scalable Matrix Generator with Given Spectrum
SMG2S - Scalable Matrix Generator with Given Spectrum
SMG2S - Scalable Matrix Generator with Given Spectrum
SMG2S - Scalable Matrix Generator with Given Spectrum

As a matrix generator, SMG2S provides:

  • the generation of both Non-Hermitian and Non-Symmetric sparse matrix
  • a generated matrix having the spectrum specified by the users
  • matrices with non-trivially generated sparsity pattern
  • controllable and customizable sparsity patterns

The main features of the SMG2S software package are:

  • header-only
  • C++ templated implementation for different data type
  • parallel implementation based on MPI which is able to efficiently generate very large sparse matrices in parallel on supercomputers
  • an easy-to-use interface for C language
  • a Python module for the sparsity pattern plotting and spectrum verification of generated matrix in small size
  • Efficient parallel IO to store the generated matrix into MatrixMarket format

Code and documentation on Github: https://github.com/SMG2S/SMG2S
Doxygen API: https://smg2s.github.io/SMG2S/

Contact: Submit an issue to our Github repo

Citing SMG2S: Xinzhe Wu, Serge G. Petiton, and Yutong Lu. "A Parallel Generator of Non-Hermitian Matrices computed from Given Spectra." Concurrency and Computation: Practice and Experience, 32(20), e5710, 2020. [DOI]

An example of sparse matrix generation:

Two sparse matrices generated by SMG2S with same spectral distribution but different sparse structures.

SMG2S - Scalable Matrix Generator with Given Spectrum
SMG2S - Scalable Matrix Generator with Given Spectrum

Last Modified: 23.09.2022