Skip to content

sympiler/sympiler-bench

Repository files navigation

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

git  clone --recursive https://github.com/sympiler/sympiler-bench.git
cd sympiler-bench
cmake -DCMAKE_BUILD_TYPE=Release  -S . -B build
cmake --build build --config Release -j 6 

You will need to set currect options, e.g. BLAS type. You can follow the sympiler installation instructions. One example script is provided here

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published