Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
teno_setup::SlotArray< T, Space > Struct Template Reference

An array of cap elements for each of slots cells. On GPUs element k of every cell is contiguous, so that a warp working on consecutive cells reads consecutive words; on the host each cell's array is. More...

#include <teno_setup.h>

Public Member Functions

 SlotArray ()=default
 
 SlotArray (const std::string &label, const size_t cap_in, const size_t slots_in, const bool interleaved_in)
 
KOKKOS_INLINE_FUNCTION Lane< T > lane (const size_t slot) const
 

Public Attributes

Kokkos::View< T *, Kokkos::LayoutRight, Space > data
 
size_t cap = 0
 
size_t slots = 0
 
bool interleaved = false
 

Detailed Description

template<typename T, class Space = Kokkos::DefaultExecutionSpace::memory_space>
struct teno_setup::SlotArray< T, Space >

An array of cap elements for each of slots cells. On GPUs element k of every cell is contiguous, so that a warp working on consecutive cells reads consecutive words; on the host each cell's array is.

Constructor & Destructor Documentation

◆ SlotArray() [1/2]

template<typename T , class Space = Kokkos::DefaultExecutionSpace::memory_space>
teno_setup::SlotArray< T, Space >::SlotArray ( )
default

◆ SlotArray() [2/2]

template<typename T , class Space = Kokkos::DefaultExecutionSpace::memory_space>
teno_setup::SlotArray< T, Space >::SlotArray ( const std::string &  label,
const size_t  cap_in,
const size_t  slots_in,
const bool  interleaved_in 
)
inline

Member Function Documentation

◆ lane()

template<typename T , class Space = Kokkos::DefaultExecutionSpace::memory_space>
KOKKOS_INLINE_FUNCTION Lane< T > teno_setup::SlotArray< T, Space >::lane ( const size_t  slot) const
inline

Member Data Documentation

◆ cap

template<typename T , class Space = Kokkos::DefaultExecutionSpace::memory_space>
size_t teno_setup::SlotArray< T, Space >::cap = 0

◆ data

template<typename T , class Space = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<T *, Kokkos::LayoutRight, Space> teno_setup::SlotArray< T, Space >::data

◆ interleaved

template<typename T , class Space = Kokkos::DefaultExecutionSpace::memory_space>
bool teno_setup::SlotArray< T, Space >::interleaved = false

◆ slots

template<typename T , class Space = Kokkos::DefaultExecutionSpace::memory_space>
size_t teno_setup::SlotArray< T, Space >::slots = 0

The documentation for this struct was generated from the following file: