#if !defined(VPBJACOBI_H) #define VPBJACOBI_H #include /* Private context (data structure) for the VPBJacobi preconditioner. */ typedef struct { MatScalar *diag; /* on host */ void *spptr; /* offload to devices */ } PC_VPBJacobi; #if defined(PETSC_HAVE_CUDA) PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_CUDA(PC); #endif #if defined(PETSC_HAVE_KOKKOS_KERNELS) PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_Kokkos(PC); #endif PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_Host(PC); PETSC_INTERN PetscErrorCode PCDestroy_VPBJacobi(PC); #endif