CULA Sparse 1.0 now available Sparse Iterative Solver Package

After several months of valuable beta testing, EM Photonics is pleased to announce the release and immediate availability of CULA Sparse. Our first release contains 6 solvers, 3 preconditioners, and supports double-precision and double-precision complex in a variety of matrix formats. Performance of 10x or more versus a fully threaded CPU solution is now available in an easy to use package!

Available iterative solvers algorithms include:

    [*]Conjugate Gradient (CG)

    [*]Biconjugate Gradient (BiCG)





Available preconditioners include:


    [*]Block Jacobi


Supported file formats include:

    [*]CSR (Compressed Row)

    [*]CSC (Compressed Column)

    [*]COO (Coordinate)

Performance gains vary from problem-to-problem, but we have observed peak performance of 14x compared to an optimized, multi-threaded CPU solution

For more details, please visit

For those interested in performance, we just posted a new blog entry showing the real world results of an FEM-based heat transfer problem:

Results are 10x faster than competing CPU based solutions!

how does your code compare to other gpu sparse libraries, like CUSparse or CUSP ?

CUSparse provides low level sparse tools - not the full solvers available in CULA Sparse. CULA actually uses some CUSparse routines in our libraries. However, for the most part we use custom high performance kernels.

Compared to CUSP, which also provides iterative solvers, we have more routines, preconditioners, features, and performance.