Sparse direct solvers are a fundamental tool in computational analysis, providing a very general method for obtaining high-quality results to almost any problem. For the case of symmetric, positive-definite matrices, CHOLMOD is a high performance library for sparse Cholesky factorization. CHOLMOD is part of the SuiteSparse linear algebra package authored by Prof. Tim Davis of Texas A&M University. SuiteSparse and CHOLMOD have long been used throughout industry and academia – most particularly as linear system solvers invoked by the Matlab 'backslash' operator (as in x = A\b).

CHOLMOD has supported GPU acceleration since 2012 with version 4.0.0 . In SuiteSparse-4.3.1 performance has been further improved, providing speedups of 3x or greater vs. the CPU for the sparse factorization operation.

Key Features

 

  • Identical interface to previous versions of CHOLMOD. This makes it trivial to achieve GPU acceleration in codes which already use CHOLMOD.
  • Easy to use – as simple a setting the environment variable:
    "export CHOLMOD_USE_GPU=1”
  • Accelerates the sparse factorization operation by up to 3x or more.

Performance

The figure below shows the performance achieved in the sparse factorization operation when solving the twelve largest matrices available from the Florida Sparse Matrix Collection. Maximum speedup vs. CPU is 3.5x. Average speedup is 2.4x. Larger matrices, with larger fill ratios tend to show better speedups. Testing of the 100 largest symmetric positive-definite matrices from the Florida collection show beneficial GPU acceleration for any factorization which takes longer than 0.28 seconds.

Testing was performed using:

  • CPU: Dual-socket Xeon E5-2690 v2 (Ivy Bridge) @ 3.00 Ghz.
  • GPU: Nvidia Tesla K40m with ECC off and clocks set at full boost (3004,875)
  • SuiteSparse compiled with Intel Composer XE 2013, Metis 4.0 and NVIDIA CUDA 6.0.

 

Availability

CHOLMOD, along with the rest of SuiteSparse, is available from www.suitesparse.com.

Additional Resources