Skip to content
Luc Berger edited this page Jul 2, 2024 · 15 revisions

Containers

Sparse containers are data structures that store indices and values associated with linear algebra objects, they allow storage savings all values associated with indices not explicitly stored are assumed to be zeros.

SPARSE 1 Kernels

No level 1 kernels have been implemented so far.

SPARSE 2 Kernels

Functions in this category are the equivalent of standard SPARSE-2 type functions.

Functions:

  • spmv Matrix Vector Multiplication
  • spmv-struct Matrix Vector Multiplication for structured problems
  • trsv Triangular Solve for A*x=b
  • sptrsv Parallelized Sparse Triangular Solve for L*x=b or U*x=b

SPARSE 3 Kernels

Functions in this category are the equivalent of standard SPARSE-3 type functions.

Functions:

  • spadd Matrix Matrix Addition - symbolic and numeric phases
  • spgemm Matrix Matrix Multiplication - symbolic and numeric phases

SPARSE Solvers and Preconditioners

Functions in this category are SPARSE solvers preconditioners type functions.

Functions:

  • gmres Iterative linear solver for positive definite systems of equations
  • gauss_seidel Iterative method to solve A*x=b
  • spiluk Incomplete LU factorization ILU(k) - symbolic and numeric phases
  • par_ilut A Parallel threshold incomplete LU factorization - symbolic and numeric phases

SPARSE Extra Kernels

Functions in this category are Extra SPARSE used for convenience while writing algorithms

Functions:

  • SortCrs Sorts and merge the entries in a Crs Matrix such that column indices are strictly increasing within each row
  • coo2crs Converts a coo matrix into a Crs Matrix
  • getDiagCopy Extract a copy of the diagonal of a Crs Matrix
  • findRelOffset Extract the indices of diagonal entires of a Crs Matrix
Clone this wiki locally