![]() |
SenK
SenK is a C++ library for high-performance linear solvers.
|
Functions related to sparse matrices and sparse vectors are defined. More...
Classes | |
class | SpVec |
Sparse vector class. More... | |
Functions | |
template<typename T > | |
void | SpmvCsr (T *val, int *cind, int *rptr, T *x, T *y, int N) |
Perform SpMV using the CSR format. More... | |
template<typename T > | |
void | SpmvCsr (T *val, int *cind, int *rptr, T *diag, T *x, T *y, int N) |
Perform SpMV using the CSR format, which stores diagonal elements separately. More... | |
template<typename T , int bnl, int bnw> | |
void | SpmvBcsr (T *bval, int *bcind, int *brptr, T *x, T *y, int N) |
Perform SpMV using the BCSR format. More... | |
template<typename T > | |
void | SpmvSell (T *val, int *cind, int *wid, int len, T *x, T *y, int N) |
Perform SpMV using the sliced-ELLPACK (SELL-c) format. More... | |
template<typename T > | |
void | SptrsvCsr_l (T *val, int *cind, int *rptr, T *x, T *y, int N) |
Perform the sparse lower triangular solve on a matrix stored in the CSR format. More... | |
template<typename T > | |
void | SptrsvCsr_u (T *val, int *cind, int *rptr, T *x, T *y, int N) |
Perform the sparse upper triangular solve on a matrix stored in the CSR format. More... | |
template<typename T > | |
void | SptrsvCsr_l (T *val, int *cind, int *rptr, T *x, T *y, int N, int *cptr, int cnum) |
Perform the sparse lower triangular solve in parallel on a AMC ordered matrix stored in the CSR format. More... | |
template<typename T > | |
void | SptrsvCsr_u (T *val, int *cind, int *rptr, T *x, T *y, int N, int *cptr, int cnum) |
Perform the sparse upper triangular solve in parallel on a AMC ordered matrix stored in the CSR format. More... | |
template<typename T > | |
void | SptrsvCsr_l (T *val, int *cind, int *rptr, T *x, T *y, int N, int *cptr, int cnum, int bsize) |
Perform the sparse lower triangular solve in parallel on a ABMC ordered matrix stored in the CSR format. More... | |
template<typename T > | |
void | SptrsvCsr_u (T *val, int *cind, int *rptr, T *x, T *y, int N, int *cptr, int cnum, int bsize) |
Perform the sparse upper triangular solve in parallel on a ABMC ordered matrix stored in the CSR format. More... | |
template<typename T > | |
void | SptrsvCsr_l (T *val, int *cind, int *rptr, T *x, T *y, int N, int bnum) |
Perform the block Jacobi sparse lower triangular solve on a matrix stored in the CSR format. More... | |
template<typename T > | |
void | SptrsvCsr_u (T *val, int *cind, int *rptr, T *x, T *y, int N, int bnum) |
Perform the block Jacobi sparse upper triangular solve on a matrix stored in the CSR format. More... | |
template<typename T , int bnl, int bnw> | |
void | SptrsvBcsr_l (T *bval, int *bcind, int *brptr, T *x, T *y, int N) |
Perform the sparse lower triangular solve for a matrix stored in the BCSR format. More... | |
template<typename T , int bnl, int bnw> | |
void | SptrsvBcsr_u (T *bval, int *bcind, int *brptr, T *x, T *y, int N) |
Perform the sparse upper triangular solve for a matrix stored in the CSR format. More... | |
template<typename T , int bnl, int bnw> | |
void | SptrsvBcsr_l (T *bval, int *bcind, int *brptr, T *x, T *y, int N, int *cptr, int cnum, int bsize) |
Perform the sparse lower triangular solve for a ABMC reordered matrix stored in the BCSR format. More... | |
template<typename T , int bnl, int bnw> | |
void | SptrsvBcsr_u (T *bval, int *bcind, int *brptr, T *x, T *y, int N, int *cptr, int cnum, int bsize) |
Perform the sparse upper triangular solve for a ABMC reordered matrix stored in the CSR format. More... | |
Functions related to sparse matrices and sparse vectors are defined.
|
inline |
Perform SpMV using the BCSR format.
T | The Type of the matrix and the vectors. |
bnl | The number of rows of the block. |
bnw | The number of columns of the block. |
bval | A val array in the BCSR format. |
bcind | A col-index array in the BCSR format. |
brptr | A row-pointer array in the BCSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
Definition at line 71 of file senk_sparse.hpp.
|
inline |
Perform SpMV using the CSR format, which stores diagonal elements separately.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
diag | An array that stores diagonal elements. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
Definition at line 48 of file senk_sparse.hpp.
|
inline |
Perform SpMV using the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
Definition at line 26 of file senk_sparse.hpp.
|
inline |
Perform SpMV using the sliced-ELLPACK (SELL-c) format.
T | The Type of the matrix and the vectors. |
val | A val array in the SELL-c format. |
cind | A col-index array in the SELL-c format. |
wid | An array that indicates the starting position of the slices. |
len | The size of the slices. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
Definition at line 104 of file senk_sparse.hpp.
|
inline |
Perform the sparse lower triangular solve for a matrix stored in the BCSR format.
T | The Type of the matrix and the vectors. |
bnl | The number of rows of the block. |
bnw | The number of columns of the block. |
bval | A val array in the BCSR format. |
bcind | A block col-index array in the BCSR format. |
brptr | A block row-pointer array in the BCSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
Definition at line 393 of file senk_sparse.hpp.
|
inline |
Perform the sparse lower triangular solve for a ABMC reordered matrix stored in the BCSR format.
T | The Type of the matrix and the vectors. |
bnl | The number of rows of the block. |
bnw | The number of columns of the block. |
bval | A val array in the BCSR format. |
bcind | A block col-index array in the BCSR format. |
brptr | A block row-pointer array in the BCSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
bsize | The number of rows/columns of the blocks used in ABMC. |
Definition at line 482 of file senk_sparse.hpp.
|
inline |
Perform the sparse upper triangular solve for a matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
bnl | The number of rows of the block. |
bnw | The number of columns of the block. |
bval | A val array in the BCSR format. |
bcind | A block col-index array in the BCSR format. |
brptr | A block row-pointer array in the BCSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
Definition at line 430 of file senk_sparse.hpp.
|
inline |
Perform the sparse upper triangular solve for a ABMC reordered matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
bnl | The number of rows of the block. |
bnw | The number of columns of the block. |
bval | A val array in the BCSR format. |
bcind | A block col-index array in the BCSR format. |
brptr | A block row-pointer array in the BCSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
bsize | The number of rows/columns of the blocks used in ABMC. |
Definition at line 534 of file senk_sparse.hpp.
|
inline |
Perform the sparse lower triangular solve on a matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
Definition at line 133 of file senk_sparse.hpp.
|
inline |
Perform the sparse lower triangular solve in parallel on a AMC ordered matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
Definition at line 181 of file senk_sparse.hpp.
|
inline |
Perform the sparse lower triangular solve in parallel on a ABMC ordered matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
bsize | The number of rows/columns of the blocks used in ABMC. |
Definition at line 251 of file senk_sparse.hpp.
|
inline |
Perform the block Jacobi sparse lower triangular solve on a matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
bptr | The starting index of each block is stored. |
bnum | The number of the blocks. |
Definition at line 329 of file senk_sparse.hpp.
|
inline |
Perform the sparse upper triangular solve on a matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
Definition at line 155 of file senk_sparse.hpp.
|
inline |
Perform the sparse upper triangular solve in parallel on a AMC ordered matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
Definition at line 215 of file senk_sparse.hpp.
|
inline |
Perform the sparse upper triangular solve in parallel on a ABMC ordered matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
bsize | The number of rows/columns of the blocks used in ABMC. |
Definition at line 290 of file senk_sparse.hpp.
|
inline |
Perform the block Jacobi sparse upper triangular solve on a matrix stored in the CSR format.
T | The Type of the matrix and the vectors. |
val | A val array in the CSR format. |
cind | A col-index array in the CSR format. |
rptr | A row-pointer array in the CSR format. |
x | Input vector of size N. |
y | Output vector of size N. |
N | The size of vectors. |
bptr | The starting index of each block is stored. |
bnum | The number of the blocks. |
Definition at line 360 of file senk_sparse.hpp.