SDDM2023

View the Project on GitHub rjkyng/SDDM2023

  • Tutorial for SDDM solver experiments
  • Guide to testing other solvers
  • Examples and discussion of our APIs
  • Tutorial for SDDM solver experiments

    On this page, we explain how to use the benchmark and reproduce our time experiments on SDDM solvers. Here we will focus on setting up and benchmarking our solvers in Laplacians.jl. For more information on benchmarking other solvers, see Guide to testing other solvers.

    System

    All of our experiments are set up on Linux. OSX might work as well, but we make no guarantee.

    Setting up Julia and Laplacians.jl

    Julia Installation

    Laplacians.jl is compatible with Julia 1.4 and 1.5, but not earlier versions. For installation of Julia, please checkout their homepage and their github page.

    Please add the following packages to Julia

    You will need to setup the environment variable (depending on where the binaries of julia are stored):

    export PATH="$PATH:$HOME/julia-1.5.3/bin"
    

    Laplacians.jl

    For more information on setting up Laplacians.jl, please refer to their documentations.

    Setting up the experiment scripts

    Please clone this repository. It contains the scripts to reproduce our experiments.

    Data generation

    SuiteSparse matrix collection

    In our experiments, we tested the performance of the solvers on SDDM matrices from the SuiteSparse matrix collection. In addition, we also included matrices that are “approximately” SDDM, in the sense that they have positive diagonals, non-positive off diagonals and is symmetric, while not diagonally dominated but close.

    “Approximate” SDDMs:

    SDDMs:

    SPE matrices

    We test the performance of the solvers on the SPE matrices, with the number of variables ranging from around 0.5 millions to 16 millions. You can download and unzip these matrices from the Dropbox link. These matrices are stored in the Matrix Market format. To reproduce our experiments, please store these matrix files in the folder SDDM2023/matrix-files

    IPM matrices

    We also provide the IPM matrices that we test our solvers’ performance on. These matrices comes from running the interior point method on Chimera graph and Spielman graph. You can download and unzip these matrices from the Dropbox link. Again, these matrices are stored in the Matrix Market format. To reproduce our experiments, please store these matrix files in the folder SDDM2023/matrix-files

    Benchmarking Laplacians.jl

    In this seciton we only provide instructions on how to repeat our experiments on benchmarking our solvers in Laplacians.jl. To repeat our experiments on other solvers, please refer to our Guide to testing other solvers

    We provide a simple script that is easy to run to repeat all our experiments on our solvers:

    cd SDDM2023/performance-experiments
    ./run_ac.sh