Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
uni20::GeneralZipLayout< Layouts >::mapping< Extents > Struct Template Reference

#include <zip_layout.hpp>

Public Types

using extents_type = Extents
 
using index_type = typename Extents::index_type
 
using layout_type = GeneralZipLayout
 
using mapping_type = mapping< Extents >
 
using offset_type = std::tuple< span_offset_t< typename Layouts::template mapping< Extents > >... >
 
using rank_type = typename Extents::rank_type
 

Public Member Functions

UNI20_HOST_DEVICE constexpr extents_type const & extents () const noexcept
 Access the common extents.
 
UNI20_HOST_DEVICE constexpr mapping (Extents const &ext, typename Layouts::template mapping< Extents > const &... m) noexcept
 Construct child mappings.
 
UNI20_HOST_DEVICE constexpr bool operator!= (mapping const &o) const noexcept
 Compare two mappings for inequality.
 
template<typename... Idx>
UNI20_HOST_DEVICE constexpr offset_type operator() (Idx... idxs) const noexcept
 Compute the per-layout offsets for a given multi-index.
 
UNI20_HOST_DEVICE constexpr bool operator== (mapping const &o) const noexcept
 Compare two mappings for equality.
 
UNI20_HOST_DEVICE constexpr std::size_t required_span_size () const noexcept
 Return the maximum required span size among the child mappings.
 

Static Public Member Functions

static UNI20_HOST_DEVICE constexpr bool is_always_exhaustive () noexcept
 Never exhaustive: no single contiguous backing buffer.
 
static UNI20_HOST_DEVICE constexpr bool is_always_strided () noexcept
 Not strided.
 
static UNI20_HOST_DEVICE constexpr bool is_always_unique () noexcept
 Always unique for uni20 tensors.
 
static UNI20_HOST_DEVICE constexpr rank_type rank () noexcept
 
static UNI20_HOST_DEVICE constexpr rank_type rank_dynamic () noexcept
 

Member Typedef Documentation

◆ extents_type

template<typename... Layouts>
template<typename Extents >
using uni20::GeneralZipLayout< Layouts >::mapping< Extents >::extents_type = Extents

◆ index_type

template<typename... Layouts>
template<typename Extents >
using uni20::GeneralZipLayout< Layouts >::mapping< Extents >::index_type = typename Extents::index_type

◆ layout_type

template<typename... Layouts>
template<typename Extents >
using uni20::GeneralZipLayout< Layouts >::mapping< Extents >::layout_type = GeneralZipLayout

◆ mapping_type

template<typename... Layouts>
template<typename Extents >
using uni20::GeneralZipLayout< Layouts >::mapping< Extents >::mapping_type = mapping<Extents>

◆ offset_type

template<typename... Layouts>
template<typename Extents >
using uni20::GeneralZipLayout< Layouts >::mapping< Extents >::offset_type = std::tuple<span_offset_t<typename Layouts::template mapping<Extents> >...>

◆ rank_type

template<typename... Layouts>
template<typename Extents >
using uni20::GeneralZipLayout< Layouts >::mapping< Extents >::rank_type = typename Extents::rank_type

Member Function Documentation

◆ rank()

template<typename... Layouts>
template<typename Extents >
static UNI20_HOST_DEVICE constexpr rank_type uni20::GeneralZipLayout< Layouts >::mapping< Extents >::rank ( )
inlinestaticconstexprnoexcept

◆ rank_dynamic()

template<typename... Layouts>
template<typename Extents >
static UNI20_HOST_DEVICE constexpr rank_type uni20::GeneralZipLayout< Layouts >::mapping< Extents >::rank_dynamic ( )
inlinestaticconstexprnoexcept

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