xref: /petsc/include/petscdmda_kokkos.hpp (revision 11d22bbf946b46f9abb4f64d9e62ca8b9837c611)
1c6583b63SJunchao Zhang #if !defined(PETSCDMDA_KOKKOS_HPP)
2c6583b63SJunchao Zhang #define PETSCDMDA_KOKKOS_HPP
3c6583b63SJunchao Zhang 
4*11d22bbfSJunchao Zhang #include <petscvec_kokkos.hpp>
5c6583b63SJunchao Zhang #include <petscdmda.h>
6c6583b63SJunchao Zhang 
7c6583b63SJunchao Zhang #if defined(PETSC_HAVE_KOKKOS)
8c6583b63SJunchao Zhang #include <Kokkos_Core.hpp>
9c6583b63SJunchao Zhang #include <Kokkos_OffsetView.hpp>
10c6583b63SJunchao Zhang 
11c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosView         (DM,Vec,Kokkos::View<const PetscScalar*,MemorySpace>*);
12c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosView     (DM,Vec,Kokkos::View<const PetscScalar*,MemorySpace>*);
13c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosView         (DM,Vec,Kokkos::View<      PetscScalar*,MemorySpace>*);
14c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosView     (DM,Vec,Kokkos::View<      PetscScalar*,MemorySpace>*);
15c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosViewWrite    (DM,Vec,Kokkos::View<      PetscScalar*,MemorySpace>*);
16c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosViewWrite(DM,Vec,Kokkos::View<      PetscScalar*,MemorySpace>*);
17c6583b63SJunchao Zhang 
18c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosView         (DM,Vec,Kokkos::View<const PetscScalar**,MemorySpace>*);
19c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosView     (DM,Vec,Kokkos::View<const PetscScalar**,MemorySpace>*);
20c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosView         (DM,Vec,Kokkos::View<      PetscScalar**,MemorySpace>*);
21c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosView     (DM,Vec,Kokkos::View<      PetscScalar**,MemorySpace>*);
22c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosViewWrite    (DM,Vec,Kokkos::View<      PetscScalar**,MemorySpace>*);
23c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosViewWrite(DM,Vec,Kokkos::View<      PetscScalar**,MemorySpace>*);
24c6583b63SJunchao Zhang 
25c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosView         (DM,Vec,Kokkos::View<const PetscScalar***,MemorySpace>*);
26c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosView     (DM,Vec,Kokkos::View<const PetscScalar***,MemorySpace>*);
27c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosView         (DM,Vec,Kokkos::View<      PetscScalar***,MemorySpace>*);
28c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosView     (DM,Vec,Kokkos::View<      PetscScalar***,MemorySpace>*);
29c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosViewWrite    (DM,Vec,Kokkos::View<      PetscScalar***,MemorySpace>*);
30c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosViewWrite(DM,Vec,Kokkos::View<      PetscScalar***,MemorySpace>*);
31c6583b63SJunchao Zhang 
32c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosView         (DM,Vec,Kokkos::View<const PetscScalar****,MemorySpace>*);
33c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosView     (DM,Vec,Kokkos::View<const PetscScalar****,MemorySpace>*);
34c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosView         (DM,Vec,Kokkos::View<      PetscScalar****,MemorySpace>*);
35c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosView     (DM,Vec,Kokkos::View<      PetscScalar****,MemorySpace>*);
36c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosViewWrite    (DM,Vec,Kokkos::View<      PetscScalar****,MemorySpace>*);
37c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosViewWrite(DM,Vec,Kokkos::View<      PetscScalar****,MemorySpace>*);
38c6583b63SJunchao Zhang 
39c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetView         (DM,Vec,Kokkos::Experimental::OffsetView<const PetscScalar*,MemorySpace>*);
40c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetView     (DM,Vec,Kokkos::Experimental::OffsetView<const PetscScalar*,MemorySpace>*);
41c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetView         (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar*,MemorySpace>*);
42c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetView     (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar*,MemorySpace>*);
43c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetViewWrite    (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar*,MemorySpace>*);
44c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetViewWrite(DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar*,MemorySpace>*);
45c6583b63SJunchao Zhang 
46c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetView         (DM,Vec,Kokkos::Experimental::OffsetView<const PetscScalar**,MemorySpace>*);
47c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetView     (DM,Vec,Kokkos::Experimental::OffsetView<const PetscScalar**,MemorySpace>*);
48c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetView         (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar**,MemorySpace>*);
49c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetView     (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar**,MemorySpace>*);
50c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetViewWrite    (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar**,MemorySpace>*);
51c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetViewWrite(DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar**,MemorySpace>*);
52c6583b63SJunchao Zhang 
53c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetView         (DM,Vec,Kokkos::Experimental::OffsetView<const PetscScalar***,MemorySpace>*);
54c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetView     (DM,Vec,Kokkos::Experimental::OffsetView<const PetscScalar***,MemorySpace>*);
55c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetView         (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar***,MemorySpace>*);
56c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetView     (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar***,MemorySpace>*);
57c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetViewWrite    (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar***,MemorySpace>*);
58c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetViewWrite(DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar***,MemorySpace>*);
59c6583b63SJunchao Zhang 
60c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetView         (DM,Vec,Kokkos::Experimental::OffsetView<const PetscScalar****,MemorySpace>*);
61c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetView     (DM,Vec,Kokkos::Experimental::OffsetView<const PetscScalar****,MemorySpace>*);
62c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetView         (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar****,MemorySpace>*);
63c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetView     (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar****,MemorySpace>*);
64c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecGetKokkosOffsetViewWrite    (DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar****,MemorySpace>*);
65c6583b63SJunchao Zhang template<class MemorySpace> PetscErrorCode DMDAVecRestoreKokkosOffsetViewWrite(DM,Vec,Kokkos::Experimental::OffsetView<      PetscScalar****,MemorySpace>*);
66c6583b63SJunchao Zhang #endif
67c6583b63SJunchao Zhang 
68c6583b63SJunchao Zhang #endif
69