AdjustToStructuredSparsity< T > Struct Template Reference

AdjustToStructuredSparsity&lt; T &gt; Struct Template Reference#

Composable Kernel: ck_tile::AdjustToStructuredSparsity< T > Struct Template Reference
ck_tile::AdjustToStructuredSparsity< T > Struct Template Reference

Transforms given input to fit 2:4 structured sparsity pattern so every subgroup of 4 elements contain at most 2 non-zero elements. More...

#include <fill.hpp>

Public Member Functions

template<typename ForwardIter>
void operator() (ForwardIter first, ForwardIter last) const
template<typename ForwardRange>
auto operator() (ForwardRange &&range) const -> std::void_t< decltype(std::declval< const AdjustToStructuredSparsity & >()(std::begin(std::forward< ForwardRange >(range)), std::end(std::forward< ForwardRange >(range))))>

Public Attributes

size_t start {0}

Static Public Attributes

static constexpr int32_t masks []

Detailed Description

template<typename T>
struct ck_tile::AdjustToStructuredSparsity< T >

Transforms given input to fit 2:4 structured sparsity pattern so every subgroup of 4 elements contain at most 2 non-zero elements.

Member Function Documentation

◆ operator()() [1/2]

template<typename T>
template<typename ForwardIter>
void ck_tile::AdjustToStructuredSparsity< T >::operator() ( ForwardIter first,
ForwardIter last ) const
inline

◆ operator()() [2/2]

template<typename T>
template<typename ForwardRange>
auto ck_tile::AdjustToStructuredSparsity< T >::operator() ( ForwardRange && range) const->std::void_t< decltype(std::declval< constAdjustToStructuredSparsity & >()(std::begin(std::forward< ForwardRange >(range)), std::end(std::forward< ForwardRange >(range))))>
inline

Member Data Documentation

◆ masks

template<typename T>
int32_t ck_tile::AdjustToStructuredSparsity< T >::masks[]
staticconstexpr
Initial value:
= {0, 0, 1, 1,
0, 1, 0, 1,
0, 1, 1, 0,
1, 0, 0, 1,
1, 0, 1, 0,
1, 1, 0, 0,
0, 0, 0, 1,
0, 0, 1, 0,
0, 1, 0, 0,
1, 0, 0, 0}
Examples
include/ck_tile/host/fill.hpp.

◆ start

template<typename T>
size_t ck_tile::AdjustToStructuredSparsity< T >::start {0}

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