Kokkos Core Kernels Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends
Public Types
Kokkos::LayoutTileLeft< ArgN0, ArgN1, IsPowerOfTwo > Struct Template Reference

Memory layout tag indicating left-to-right (Fortran scheme) striding of multi-indices by tiles. More...

#include <Kokkos_Layout.hpp>

List of all members.

Public Types

typedef Impl::LayoutTag kokkos_tag
 The tag (what type of kokkos_object is this).

Detailed Description

template<unsigned ArgN0, unsigned ArgN1, bool IsPowerOfTwo = ( Impl::is_power_of_two<ArgN0>::value && Impl::is_power_of_two<ArgN1>::value )>
struct Kokkos::LayoutTileLeft< ArgN0, ArgN1, IsPowerOfTwo >

Memory layout tag indicating left-to-right (Fortran scheme) striding of multi-indices by tiles.

This is an example of a MemoryLayout template parameter of View. The memory layout describes how View maps from a multi-index (i0, i1, ..., ik) to a memory location.

"Tiled layout" indicates a mapping to contiguously stored ArgN0 by ArgN1 tiles for the rightmost two dimensions. Indices are LayoutLeft within each tile, and the tiles themselves are arranged using LayoutLeft. Note that the dimensions ArgN0 and ArgN1 of the tiles must be compile-time constants. This speeds up index calculations. If both tile dimensions are powers of two, Kokkos can optimize further.

Definition at line 169 of file Kokkos_Layout.hpp.


Member Typedef Documentation

template<unsigned ArgN0, unsigned ArgN1, bool IsPowerOfTwo = ( Impl::is_power_of_two<ArgN0>::value && Impl::is_power_of_two<ArgN1>::value )>
typedef Impl::LayoutTag Kokkos::LayoutTileLeft< ArgN0, ArgN1, IsPowerOfTwo >::kokkos_tag

The tag (what type of kokkos_object is this).

Definition at line 171 of file Kokkos_Layout.hpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends