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