xref: /petsc/src/ksp/pc/impls/pbjacobi/pbjacobi.h (revision cedd07cade5cbdfdad435c8172b7ec8972d9cd8d)
1 #ifndef PBJACOBI_H
2 #define PBJACOBI_H
3 
4 #include <petsc/private/pcimpl.h>
5 
6 /*
7    Private context (data structure) for the PBJacobi preconditioner.
8 */
9 typedef struct {
10   const MatScalar *diag;
11   PetscInt         bs, mbs; /* block size (bs), and number of blocks (mbs) */
12   void            *spptr;   /* opaque pointer to a device data structure */
13 } PC_PBJacobi;
14 
15 #if defined(PETSC_HAVE_CUDA)
16 PETSC_INTERN PetscErrorCode PCSetUp_PBJacobi_CUDA(PC);
17 #endif
18 
19 #if defined(PETSC_HAVE_KOKKOS_KERNELS)
20 PETSC_INTERN PetscErrorCode PCSetUp_PBJacobi_Kokkos(PC);
21 #endif
22 
23 PETSC_INTERN PetscErrorCode PCSetUp_PBJacobi_Host(PC);
24 PETSC_INTERN PetscErrorCode PCDestroy_PBJacobi(PC);
25 
26 #endif
27