#pragma once #include /* SUBMANSEC = Mat */ #if defined(PETSC_HAVE_KOKKOS) #include #include /*@C MatCreateSeqAIJKokkosWithKokkosViews - Creates a MATSEQAIJKOKKOS matrix with Kokkos views of the aij data Synopsis: #include PetscErrorCode MatCreateSeqAIJKokkosWithKokkosViews (MPI_Comm comm, PetscInt m, PetscInt n, Kokkos::View& i_d, Kokkos::View& j_d, Kokkos::View& a_d, Mat *A); Logically Collective, No Fortran Support Input Parameter: + comm - the MPI communicator - m - row size - n - the column size - i - the Kokkos view of row data (in Kokkos::DefaultExecutionSpace) - j - the Kokkos view of the column data (in Kokkos::DefaultExecutionSpace) - a - the Kokkos view of the values (in Kokkos::DefaultExecutionSpace) Output Parameter: . A - the `MATSEQAIJKOKKOS` matrix Level: intermediate Notes: Creates a Mat given the csr data input as Kokkos views. This routine allows a Mat to be built without involving the host. Don't modify entries in the views after this routine. There should be no outstanding asynchronous operations on the views (ie this routine does not call fence() before using the views) .seealso: @*/ PetscErrorCode MatCreateSeqAIJKokkosWithKokkosViews(MPI_Comm, PetscInt, PetscInt, Kokkos::View &, Kokkos::View &, Kokkos::View &, Mat *); #endif