Actual source code: vpbjacobi.h

  1: #ifndef VPBJACOBI_H
  2: #define VPBJACOBI_H

  4: #include <petsc/private/pcimpl.h>

  6: /*
  7:    Private context (data structure) for the VPBJacobi preconditioner.
  8: */
  9: typedef struct {
 10:   PetscInt   nblocks, min_bs, max_bs; // Stats recorded during setup for viewing
 11:   MatScalar *diag;                    /* on host */
 12:   void      *spptr;                   /* offload to devices */
 13: } PC_VPBJacobi;

 15: #if defined(PETSC_HAVE_CUDA)
 16: PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_CUDA(PC);
 17: #endif

 19: #if defined(PETSC_HAVE_KOKKOS_KERNELS)
 20: PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_Kokkos(PC);
 21: #endif

 23: PETSC_INTERN PetscErrorCode PCSetUp_VPBJacobi_Host(PC);
 24: PETSC_INTERN PetscErrorCode PCDestroy_VPBJacobi(PC);

 26: #endif