VecGetKokkosView#

Returns a constant Kokkos View that contains up-to-date data of a vector in the specified memory space.

Synopsis#

template <class MemorySpace>
PetscErrorCode VecGetKokkosView(Vec, Kokkos::View<const PetscScalar *, MemorySpace> *)

Synopsis#

#include <petscvec_kokkos.hpp>
PetscErrorCode VecGetKokkosView  (Vec v,Kokkos::View<const PetscScalar*,MemorySpace>* kv);
PetscErrorCode VecGetKokkosView  (Vec v,Kokkos::View<PetscScalar*,MemorySpace>* kv);

Logically Collective

Input Parameter#

Output Parameter#

  • kv - the Kokkos View with a user-specified template parameter MemorySpace

Notes#

If the vector is not of type VECKOKKOS, an error will be raised.

The functions are similar to VecGetArrayRead() and VecGetArray() respectively. One can read-only or read/write the returned Kokkos View.

Passing in a const View enables read-only access.

One must return the View by a matching VecRestoreKokkosView() after finishing using the View. Currently, only two memory spaces are supported: Kokkos::HostSpace and Kokkos::DefaultExecutionSpace::memory_space. If needed, a memory copy will be internally called to copy the latest vector data to the specified memory space.

See Also#

VecRestoreKokkosView(), VecRestoreArray(), VecGetKokkosViewWrite(), VecGetArrayRead(), VecGetArrays(), VecGetArrayF90(), VecGetArrayReadF90(), VecPlaceArray(), VecGetArray2d(), VecGetArrayPair(), VecRestoreArrayPair(), VecGetArrayWrite(), VecRestoreArrayWrite()

Level#

beginner

Location#

include/petscvec_kokkos.hpp


Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages