PCBJKOKKOS#

A batched Krylov/block Jacobi solver that runs a solve of each diagaonl block of a block diagonal MATSEQAIJ in a Kokkos thread group

Options Database Key#

  • -pc_bjkokkos_ - options prefix for its KSP options

Note#

For use with -ksp_type preonly to bypass any computation on the CPU

Developer Notes#

The entire Krylov (TFQMR or BICG) with diagonal preconditioning for each block of a block diagnaol matrix runs in a Kokkos thread group (eg, one block per SM on NVIDIA). It supports taking a non-block diagonal matrix but this is not tested. One should create an explicit block diagonal matrix and use that as the preconditioning matrix in the outer KSP solver. Varaible block size are supported and tested in src/ts/utils/dmplexlandau/tutorials/ex[1|2].c

See Also#

KSP: Linear System Solvers, PCCreate(), PCSetType(), PCType, PC, PCBJACOBI, PCSHELL, PCCOMPOSITE, PCSetUseAmat(), PCBJKOKKOSGetKSP()

Level#

intermediate

Location#

src/ksp/pc/impls/bjacobi/bjkokkos/bjkokkos.kokkos.cxx


Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages