core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
Loading...
Searching...
No Matches
view.hpp File Reference
#include <Kokkos_Core.hpp>
#include <string>
#include <utility>
#include <vector>
#include "peclet/core/common/types.hpp"

Go to the source code of this file.

Namespaces

namespace  peclet
 
namespace  peclet::core
 

Typedefs

using peclet::core::ExecSpace = Kokkos::DefaultExecutionSpace
 
using peclet::core::MemSpace = ExecSpace::memory_space
 
template<class T >
using peclet::core::View = Kokkos::View< T *, MemSpace >
 1D device array.
 
template<class T >
using peclet::core::HostView = decltype(Kokkos::create_mirror_view(std::declval< View< T > >()))
 Host-accessible mirror of View<T> (identical to View<T> on host backends).
 
using peclet::core::IndexView = Kokkos::View< Index *, MemSpace >
 Device array of grid/particle indices (the matched send/recv/self-copy lists).
 
template<class T >
using peclet::core::Field3D = Kokkos::View< T ***, Kokkos::LayoutLeft, MemSpace >
 3D structured field in the suite's x-fastest convention: LayoutLeft makes the leftmost (x) index contiguous, i.e.
 

Functions

template<class T >
View< Tpeclet::core::toDevice (const std::vector< T > &h, const std::string &label)
 Upload a host std::vector into a freshly-sized device View (empty vector => empty view).
 
template<class V >
std::vector< std::remove_const_t< typename V::value_type > > peclet::core::toVector (const V &view)
 Copy a (host- or device-resident) Kokkos View of any rank into a contiguous host std::vector, flattened in C/row order (last index fastest) — an Nx3 View comes back as out[i*3 + c] == view(i,c), the suite's particle-SoA Python export order.