addresser< T, Layout > Struct Template Reference

addresser&lt; T, Layout &gt; Struct Template Reference#

Composable Kernel: ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout > Struct Template Reference
ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout > Struct Template Reference

#include <naive_attention.hpp>

Public Member Functions

__device__ addresser (int b_, int s_, int h_, int d_, void *base_ptr_)
__device__ T * get_base (int i_b, int i_h)
__device__ int get_offset (int i_s, int i_d)
__device__ void init (int i_b, int i_h)
__device__ T load (int i_s, int i_d)
__device__ void store (T value, int i_s, int i_d)

Public Attributes

int b
int s
int h
int d
T * base_ptr

Constructor & Destructor Documentation

◆ addresser()

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
__device__ ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::addresser ( int b_,
int s_,
int h_,
int d_,
void * base_ptr_ )
inline

Member Function Documentation

◆ get_base()

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
__device__ T * ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::get_base ( int i_b,
int i_h )
inline

◆ get_offset()

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
__device__ int ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::get_offset ( int i_s,
int i_d )
inline

◆ init()

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
__device__ void ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::init ( int i_b,
int i_h )
inline

◆ load()

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
__device__ T ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::load ( int i_s,
int i_d )
inline

◆ store()

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
__device__ void ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::store ( T value,
int i_s,
int i_d )
inline

Member Data Documentation

◆ b

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
int ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::b

◆ base_ptr

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
T* ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::base_ptr

◆ d

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
int ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::d

◆ h

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
int ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::h

◆ s

template<typename QType, typename KType, typename VType, typename OType, typename AccType, typename KVScaleType, naive_attention_layout_enum QLayout, naive_attention_layout_enum KLayout, naive_attention_layout_enum VLayout, naive_attention_layout_enum OLayout, naive_attention_layout_enum KScaleLayout, naive_attention_layout_enum VScaleLayout, typename Traits>
template<typename T, naive_attention_layout_enum Layout>
int ck_tile::naive_attention_fwd_kernel< QType, KType, VType, OType, AccType, KVScaleType, QLayout, KLayout, VLayout, OLayout, KScaleLayout, VScaleLayout, Traits >::addresser< T, Layout >::s

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