transpose_vectors< S_, NX, NY > Struct Template Reference

transpose_vectors&lt; S_, NX, NY &gt; Struct Template Reference#

Composable Kernel: ck_tile::transpose_vectors< S_, NX, NY > Struct Template Reference
ck_tile::transpose_vectors< S_, NX, NY > Struct Template Reference

#include <transpose_vectors.hpp>

Classes

struct  bytesize1_2x2_tag
 
struct  bytesize1_4x4_tag
 
struct  bytesize2_2x2_tag
 
struct  generic_tag
 

Public Types

using S = remove_cvref_t< S_ >
 
using VX = array< S, s_per_x >
 
using VY = array< S, s_per_y >
 

Public Member Functions

CK_TILE_DEVICE void operator() (const thread_buffer< VX, NX > &vx_tuple, thread_buffer< VY, NY > &vy_tuple) const
 

Static Public Member Functions

static constexpr CK_TILE_DEVICE void apply_impl (const thread_buffer< VX, NX > &vx_tuple, thread_buffer< VY, NY > &vy_tuple, generic_tag)
 
static constexpr CK_TILE_DEVICE void apply_impl (const thread_buffer< VX, NX > &vx_tuple, thread_buffer< VY, NY > &vy_tuple, bytesize2_2x2_tag)
 
static constexpr CK_TILE_DEVICE void apply_impl (const thread_buffer< VX, NX > &vx_tuple, thread_buffer< VY, NY > &vy_tuple, bytesize1_4x4_tag)
 
static constexpr CK_TILE_DEVICE void apply_impl (const thread_buffer< VX, NX > &vx_tuple, thread_buffer< VY, NY > &vy_tuple, bytesize1_2x2_tag)
 
static constexpr CK_TILE_DEVICE auto tag_dispatch ()
 

Static Public Attributes

static constexpr index_t s_per_x = NY
 
static constexpr index_t s_per_y = NX
 

Member Typedef Documentation

◆ S

template<typename S_ , index_t NX, index_t NY>
using ck_tile::transpose_vectors< S_, NX, NY >::S = remove_cvref_t<S_>

◆ VX

template<typename S_ , index_t NX, index_t NY>
using ck_tile::transpose_vectors< S_, NX, NY >::VX = array<S, s_per_x>

◆ VY

template<typename S_ , index_t NX, index_t NY>
using ck_tile::transpose_vectors< S_, NX, NY >::VY = array<S, s_per_y>

Member Function Documentation

◆ apply_impl() [1/4]

template<typename S_ , index_t NX, index_t NY>
static constexpr CK_TILE_DEVICE void ck_tile::transpose_vectors< S_, NX, NY >::apply_impl ( const thread_buffer< VX, NX > &  vx_tuple,
thread_buffer< VY, NY > &  vy_tuple,
bytesize1_2x2_tag   
)
inlinestaticconstexpr

◆ apply_impl() [2/4]

template<typename S_ , index_t NX, index_t NY>
static constexpr CK_TILE_DEVICE void ck_tile::transpose_vectors< S_, NX, NY >::apply_impl ( const thread_buffer< VX, NX > &  vx_tuple,
thread_buffer< VY, NY > &  vy_tuple,
bytesize1_4x4_tag   
)
inlinestaticconstexpr

◆ apply_impl() [3/4]

template<typename S_ , index_t NX, index_t NY>
static constexpr CK_TILE_DEVICE void ck_tile::transpose_vectors< S_, NX, NY >::apply_impl ( const thread_buffer< VX, NX > &  vx_tuple,
thread_buffer< VY, NY > &  vy_tuple,
bytesize2_2x2_tag   
)
inlinestaticconstexpr

◆ apply_impl() [4/4]

template<typename S_ , index_t NX, index_t NY>
static constexpr CK_TILE_DEVICE void ck_tile::transpose_vectors< S_, NX, NY >::apply_impl ( const thread_buffer< VX, NX > &  vx_tuple,
thread_buffer< VY, NY > &  vy_tuple,
generic_tag   
)
inlinestaticconstexpr

◆ operator()()

template<typename S_ , index_t NX, index_t NY>
CK_TILE_DEVICE void ck_tile::transpose_vectors< S_, NX, NY >::operator() ( const thread_buffer< VX, NX > &  vx_tuple,
thread_buffer< VY, NY > &  vy_tuple 
) const
inline

◆ tag_dispatch()

template<typename S_ , index_t NX, index_t NY>
static constexpr CK_TILE_DEVICE auto ck_tile::transpose_vectors< S_, NX, NY >::tag_dispatch ( )
inlinestaticconstexpr

Member Data Documentation

◆ s_per_x

template<typename S_ , index_t NX, index_t NY>
constexpr index_t ck_tile::transpose_vectors< S_, NX, NY >::s_per_x = NY
staticconstexpr

◆ s_per_y

template<typename S_ , index_t NX, index_t NY>
constexpr index_t ck_tile::transpose_vectors< S_, NX, NY >::s_per_y = NX
staticconstexpr

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/core/utility/transpose_vectors.hpp