43#ifndef __Panzer_KokkosThyraConversion_hpp__
44#define __Panzer_KokkosThyraConversion_hpp__
46#include "Kokkos_Core.hpp"
48#include "Teuchos_RCP.hpp"
49#include "Teuchos_Ptr.hpp"
51#include "Thyra_VectorBase.hpp"
52#include "Thyra_DefaultSpmdVector.hpp"
54#include "Epetra_Vector.h"
57namespace kokkos_utils {
68 typedef Kokkos::View<double*,Kokkos::HostSpace ,Kokkos::MemoryTraits<Kokkos::Unmanaged > >
View;
75 typedef Kokkos::View<const double*,Kokkos::HostSpace ,Kokkos::MemoryTraits<Kokkos::Unmanaged > >
View;
79template <
typename VectorType>
89 auto values = Teuchos::ptr_dynamic_cast<Thyra::DefaultSpmdVector<double> >(Teuchos::ptrFromRef(v))->getRCPtr();
101 auto values = Teuchos::ptr_dynamic_cast<const Thyra::DefaultSpmdVector<double> >(Teuchos::ptrFromRef(v))->getRCPtr();
Kokkos::View< double *, Kokkos::HostSpace,Kokkos::MemoryTraits< Kokkos::Unmanaged > > View
Thyra::VectorBase< double > ThyraVector
const Thyra::VectorBase< double > ThyraVector
Kokkos::View< const double *, Kokkos::HostSpace,Kokkos::MemoryTraits< Kokkos::Unmanaged > > View
VectorToViewTraits< constEpetra_Vector >::View getView< const Epetra_Vector >(typename VectorToViewTraits< const Epetra_Vector >::ThyraVector &v)
VectorToViewTraits< Epetra_Vector >::View getView< Epetra_Vector >(typename VectorToViewTraits< Epetra_Vector >::ThyraVector &v)
VectorToViewTraits< VectorType >::View getView(typename VectorToViewTraits< VectorType >::ThyraVector &v)