/sympiler-bench

Primary LanguageC++MIT LicenseMIT

Sympiler Benchmark

This repository is for comparing sparse linear algenra codes generated by Sympiler with other exisiting frameworks/libraries. It also provides an example set up for the Sympiler generated code. We are adding parallel kernels one by one and this is a work in progress. The current status:

  • Sparse lower triangular solver
  • Sparse supernodal Cholesky factorization.
  • Sparse upper triangular solver
  • Sparse incomplete Cholesky zero
  • Sparse incomplete LU zero
  • Sparse matrix-vector multiplication
  • Preconditioned GMRES
  • Sparse Gauss-Seidel
  • Sparse non-supernodal Cholesky
  • Sparse supernodal LDL factorization
  • Sparse simplicial (non-supernodal) LDL factorization

Installation

You can follow the sympiler installation instructions.

Running the benchmark

Cholesky

Exisitng tools

The current added tools/libraries are:

Sympiler: the dependency is already resolved by CMake.

MKL Library: CMake can find MKL if it is on the system path or MKLROOT is set properly.

SuiteSparse: If you install suitesparse and set SUITEROOT to where suitesparse is installed, then CMake can detect it.

Pardiso: The path to Pardiso library should be in PARDISO_LIB. The Pardiso library that is used in the demo is pardiso600-GNU720-X86-64. Pardiso also needs lapack library as a dependency.