SPARSE - kokkos/kokkos-kernels GitHub Wiki
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
orU*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