ddc
ddc copied to clipboard
Transfer linear algebra used in DDC splines to kokkos kernel
Meeting 5/13.
Should I join ? Give me the time of the meeting if so
https://github.com/kokkos/kokkos-kernels/pull/2202
General dense
LAPACKE_dgetrs LAPACKE_dgetrf
General banded
LAPACKE_dgbtrs LAPACKE_dgbtrf
PDS banded
LAPACKE_dpbtrs LAPACKE_dpbtrf
PDS tridiagonal
LAPACKE_dpttrs LAPACKE_dpttrf
I have made a small investigation.
| Function | dgetrs |
dgbtrs |
dpbtrs |
dpttrs |
|---|---|---|---|---|
| Brief | general N-by-N matrix solver. A is factorized by dgetrf |
general band matrix solver. A is factorized by dgbtrf |
symmetric positive definite band matrix solver. A is factorized by dpbtrf |
tridiagonal system solver. A is factorized by dpttrf |
| Dependency | dlaswp, dtrsm |
dgemv, dger, dswap, dtbsv |
dtbsv |
dptts2 |
| In Kokkos kernels | - | - | - | - |
These functions depend on following subroutines.
| Subroutines | dlaswp |
dtrsm |
dgemv |
dger |
dswap |
dtbsv |
dptts2 |
dscal |
|---|---|---|---|---|---|---|---|---|
| Brief | performs series of row interchanges on the matrix A | solves one of the matrix equations op( A )*X = alpha*B, or X*op( A ) = alpha*B |
performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*A**T*x + beta*y |
performs the rank 1 operation A := alpha*x*y**T + A |
interchanges two vectors | solves one of the systems of equations A*x = b, or A**T*x = b |
solves a tridiagonal system of the form A * X = B using the L*D*L' factorization of A computed by dpttrf |
scales a vector by a constant |
| Serial | - | x | x | - | - | x | - | - |
| Team | - | x | x | - | - | - | - | - |
| Team Vector | - | x | - | - | - | - | - | - |
| Note | blas implementation available | In review | Depends on dscal |
blas implementation available |
General dense
- [ ] Implement batched serial getrf (factorization) #2331: in review
- [x] Implement batched serial iamax (helper) #2399: merged
- [x] Implement batched serial laswp (helper) #2395: merged
- [ ] Implement batched serial getrs (solver)
General banded
- [ ] Implement batched serial gbtrf (factorization)
- [ ] Implement batched serial gbtrs (solver)
PDS banded
- [x] Implement batched serial pbtrf (factorization) #2322: merged
- [x] Implement batched serial pbtrs (solver) #2330: merged
- [x] Add batched serial tbsv (solver) #2202: merged
PDS tridiagonal
Great news!