Actual source code: vpbjacobi.h

  1: #pragma once

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

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

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

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

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