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