ddc icon indicating copy to clipboard operation
ddc copied to clipboard

Transfer linear algebra used in DDC splines to kokkos kernel

Open jbigot opened this issue 1 year ago • 7 comments

jbigot avatar Apr 08 '24 07:04 jbigot

Meeting 5/13.

cedricchevalier19 avatar May 06 '24 11:05 cedricchevalier19

Should I join ? Give me the time of the meeting if so

blegouix avatar May 06 '24 12:05 blegouix

https://github.com/kokkos/kokkos-kernels/pull/2202

yasahi-hpc avatar May 27 '24 08:05 yasahi-hpc

General dense

LAPACKE_dgetrs LAPACKE_dgetrf

General banded

LAPACKE_dgbtrs LAPACKE_dgbtrf

PDS banded

LAPACKE_dpbtrs LAPACKE_dpbtrf

PDS tridiagonal

LAPACKE_dpttrs LAPACKE_dpttrf

tpadioleau avatar May 27 '24 14:05 tpadioleau

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

yasahi-hpc avatar May 28 '24 09:05 yasahi-hpc

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

  • [x] Implement batched serial pttrf (factorization) #2256: merged
  • [x] Implement batched serial pttrs (solver) #2277: merged

yasahi-hpc avatar Jul 12 '24 09:07 yasahi-hpc

Great news!

jbigot avatar Jul 12 '24 11:07 jbigot