SDDM2023

View the Project on GitHub rjkyng/SDDM2023

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

    On this page, we briefly describe how to setup and experiment on other solvers using SDDM1.git. The solvers include CMG, HyPre, PETSc, MATLAB’s ICC and LAMG.

    MATLAB and environment variables

    CMG Installation

    For the current version of CMG, please see here.

    HyPre Installation

    We are using a slightly customized version of HyPre based on the HyPre master, forked in 2018. The customizations we implemented are only there to pipeline the benchmarking data. Below we describe how to install our customized HyPre. For the current version of HyPre, please see their GitHub repo.

    PETSc Installation

    We are using a version of PETSc from the master branch of their Github repository in 2021. Below we describe how to install PETSc at the exact same state it was benchmarked in our experiment. For the current version of PETSc, please see their GitHub repo.

    LAMG installation

    You can get LAMG either from their GitHub repo or their Google Code Archive. Their paper is also available here. We provide a version of LAMG with a slight issue fixed which prevented us from running the Google Code Archive version directly. This version which we tested is linked below.

    Benchmarking the solvers

    We provide scripts that repeat experiments on all solvers that we tested. We remark that, when tested on Chimera Laplacians with non-unit weights, PETSc crashed our server too often and its performances on these matrices are therefore omitted in the paper. When repeating our experiments, we suggest using the following script which tests all solvers except for PETSc:

    cd SDDM2023/performance-experiments
    ./run_nopetsc.sh
    

    To repeat our experiments on all solvers including PETSc, you can use the following script at your own risk:

    cd SDDM2023/performance-experiments
    ./run_all.sh