#if !defined(PETSCDMDA_KOKKOS_HPP) #define PETSCDMDA_KOKKOS_HPP #include #include #if defined(PETSC_HAVE_KOKKOS) #include #include template PetscErrorCode DMDAVecGetKokkosView (DM,Vec,Kokkos::View*); template PetscErrorCode DMDAVecRestoreKokkosView (DM,Vec,Kokkos::View*); template PetscErrorCode DMDAVecGetKokkosView (DM,Vec,Kokkos::View< PetscScalar*,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosView (DM,Vec,Kokkos::View< PetscScalar*,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosViewWrite (DM,Vec,Kokkos::View< PetscScalar*,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosViewWrite(DM,Vec,Kokkos::View< PetscScalar*,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosView (DM,Vec,Kokkos::View*); template PetscErrorCode DMDAVecRestoreKokkosView (DM,Vec,Kokkos::View*); template PetscErrorCode DMDAVecGetKokkosView (DM,Vec,Kokkos::View< PetscScalar**,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosView (DM,Vec,Kokkos::View< PetscScalar**,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosViewWrite (DM,Vec,Kokkos::View< PetscScalar**,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosViewWrite(DM,Vec,Kokkos::View< PetscScalar**,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosView (DM,Vec,Kokkos::View*); template PetscErrorCode DMDAVecRestoreKokkosView (DM,Vec,Kokkos::View*); template PetscErrorCode DMDAVecGetKokkosView (DM,Vec,Kokkos::View< PetscScalar***,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosView (DM,Vec,Kokkos::View< PetscScalar***,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosViewWrite (DM,Vec,Kokkos::View< PetscScalar***,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosViewWrite(DM,Vec,Kokkos::View< PetscScalar***,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosView (DM,Vec,Kokkos::View*); template PetscErrorCode DMDAVecRestoreKokkosView (DM,Vec,Kokkos::View*); template PetscErrorCode DMDAVecGetKokkosView (DM,Vec,Kokkos::View< PetscScalar****,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosView (DM,Vec,Kokkos::View< PetscScalar****,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosViewWrite (DM,Vec,Kokkos::View< PetscScalar****,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosViewWrite(DM,Vec,Kokkos::View< PetscScalar****,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView*); template PetscErrorCode DMDAVecRestoreKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView*); template PetscErrorCode DMDAVecGetKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar*,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar*,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosOffsetViewWrite (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar*,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosOffsetViewWrite(DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar*,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView*); template PetscErrorCode DMDAVecRestoreKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView*); template PetscErrorCode DMDAVecGetKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar**,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar**,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosOffsetViewWrite (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar**,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosOffsetViewWrite(DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar**,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView*); template PetscErrorCode DMDAVecRestoreKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView*); template PetscErrorCode DMDAVecGetKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar***,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar***,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosOffsetViewWrite (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar***,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosOffsetViewWrite(DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar***,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView*); template PetscErrorCode DMDAVecRestoreKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView*); template PetscErrorCode DMDAVecGetKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar****,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosOffsetView (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar****,MemorySpace>*); template PetscErrorCode DMDAVecGetKokkosOffsetViewWrite (DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar****,MemorySpace>*); template PetscErrorCode DMDAVecRestoreKokkosOffsetViewWrite(DM,Vec,Kokkos::Experimental::OffsetView< PetscScalar****,MemorySpace>*); #endif #endif