xref: /petsc/src/ksp/pc/impls/vpbjacobi/vpbjacobi.h (revision f52d5e2b9dc3975b5b690a83b4e5fc540f0eec52)
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