xref: /petsc/src/ksp/pc/impls/vpbjacobi/vpbjacobi.h (revision 58d68138c660dfb4e9f5b03334792cd4f2ffd7cc)
1 #if !defined(VPBJACOBI_H)
2 #define VPBJACOBI_H
3 
4 #include <petsc/private/pcimpl.h>
5 
6 /*
7    Private context (data structure) for the VPBJacobi preconditioner.
8 */
9 typedef struct {
10   MatScalar *diag;  /* on host */
11   void      *spptr; /* offload to devices */
12 } PC_VPBJacobi;
13 
14 #if defined(PETSC_HAVE_CUDA)
15 PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_CUDA(PC);
16 #endif
17 
18 #if defined(PETSC_HAVE_KOKKOS_KERNELS)
19 PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_Kokkos(PC);
20 #endif
21 
22 PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_Host(PC);
23 PETSC_INTERN PetscErrorCode PCDestroy_VPBJacobi(PC);
24 
25 #endif
26