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