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