pk_float4_e2m1_t Struct Reference

pk_float4_e2m1_t Struct Reference#

Composable Kernel: ck_tile::pk_float4_e2m1_t Struct Reference

#include <pk_fp4.hpp>

Public Types

using raw_type = uint8_t
using type = raw_type

Public Member Functions

CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t ()
template<typename T, typename = std::enable_if_t<std::is_integral_v<T>>>
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t (T init)
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t (float init, float scale=1.f)
CK_TILE_HOST_DEVICE constexpr operator type () const
CK_TILE_HOST_DEVICE constexpr typeget ()
CK_TILE_HOST_DEVICE constexpr type get () const
CK_TILE_HOST_DEVICE constexpr float to_float (float scale=1.f) const
CK_TILE_HOST_DEVICE constexpr fp32x2_t to_fp32x2 (float scale=1.f) const
CK_TILE_HOST_DEVICE constexpr fp16_t to_fp16 (float scale=1.f) const
CK_TILE_HOST_DEVICE constexpr fp16x2_t to_fp16x2 (float scale=1.f) const
CK_TILE_HOST_DEVICE constexpr bf16_t to_bf16 (float scale=1.f) const
CK_TILE_HOST_DEVICE constexpr bf16x2_t to_bf16x2 (float scale=1.f) const
CK_TILE_HOST_DEVICE constexpr operator float () const
CK_TILE_HOST_DEVICE constexpr operator fp32x2_t () const
CK_TILE_HOST_DEVICE constexpr operator fp16_t () const
CK_TILE_HOST_DEVICE constexpr operator fp16x2_t () const
CK_TILE_HOST_DEVICE constexpr operator bf16_t () const
CK_TILE_HOST_DEVICE constexpr operator bf16x2_t () const
template<index_t I>
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t unpack (number< I >) const
template<index_t I>
CK_TILE_HOST_DEVICE constexpr type _unpack (number< I >) const

Static Public Member Functions

CK_TILE_HOST_DEVICE static constexpr pk_float4_e2m1_t pack (const pk_float4_e2m1_t &x0, const pk_float4_e2m1_t &x1)
CK_TILE_HOST_DEVICE static constexpr type _pack (const type x0, const type x1)

Public Attributes

type data

Member Typedef Documentation

◆ raw_type

◆ type

Constructor & Destructor Documentation

◆ pk_float4_e2m1_t() [1/3]

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::pk_float4_e2m1_t ( )
inlineconstexpr

◆ pk_float4_e2m1_t() [2/3]

template<typename T, typename = std::enable_if_t<std::is_integral_v<T>>>
CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::pk_float4_e2m1_t ( T init)
inlineconstexpr

◆ pk_float4_e2m1_t() [3/3]

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::pk_float4_e2m1_t ( float init,
float scale = 1.f )
inlineexplicitconstexpr

Member Function Documentation

◆ _pack()

CK_TILE_HOST_DEVICE static constexpr type ck_tile::pk_float4_e2m1_t::_pack ( const type x0,
const type x1 )
inlinestaticconstexpr

◆ _unpack()

template<index_t I>
CK_TILE_HOST_DEVICE constexpr type ck_tile::pk_float4_e2m1_t::_unpack ( number< I > ) const
constexpr

◆ get() [1/2]

CK_TILE_HOST_DEVICE constexpr type & ck_tile::pk_float4_e2m1_t::get ( )
inlineconstexpr

◆ get() [2/2]

CK_TILE_HOST_DEVICE constexpr type ck_tile::pk_float4_e2m1_t::get ( ) const
inlineconstexpr

◆ operator bf16_t()

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::operator bf16_t ( ) const
inlineconstexpr

◆ operator bf16x2_t()

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::operator bf16x2_t ( ) const
inlineconstexpr

◆ operator float()

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::operator float ( ) const
inlineconstexpr

◆ operator fp16_t()

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::operator fp16_t ( ) const
inlineconstexpr

◆ operator fp16x2_t()

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::operator fp16x2_t ( ) const
inlineconstexpr

◆ operator fp32x2_t()

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::operator fp32x2_t ( ) const
inlineconstexpr

◆ operator type()

CK_TILE_HOST_DEVICE constexpr ck_tile::pk_float4_e2m1_t::operator type ( ) const
inlineconstexpr

◆ pack()

CK_TILE_HOST_DEVICE static constexpr pk_float4_e2m1_t ck_tile::pk_float4_e2m1_t::pack ( const pk_float4_e2m1_t & x0,
const pk_float4_e2m1_t & x1 )
inlinestaticconstexpr

◆ to_bf16()

CK_TILE_HOST_DEVICE constexpr bf16_t ck_tile::pk_fp4_t::to_bf16 ( float scale = 1.f) const
constexpr

◆ to_bf16x2()

CK_TILE_HOST_DEVICE constexpr bf16x2_t ck_tile::pk_fp4_t::to_bf16x2 ( float scale = 1.f) const
constexpr

◆ to_float()

CK_TILE_HOST_DEVICE constexpr float ck_tile::pk_fp4_t::to_float ( float scale = 1.f) const
constexpr

◆ to_fp16()

CK_TILE_HOST_DEVICE constexpr fp16_t ck_tile::pk_fp4_t::to_fp16 ( float scale = 1.f) const
constexpr

◆ to_fp16x2()

CK_TILE_HOST_DEVICE constexpr fp16x2_t ck_tile::pk_fp4_t::to_fp16x2 ( float scale = 1.f) const
constexpr

◆ to_fp32x2()

CK_TILE_HOST_DEVICE constexpr fp32x2_t ck_tile::pk_fp4_t::to_fp32x2 ( float scale = 1.f) const
constexpr

◆ unpack()

template<index_t I>
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t ck_tile::pk_float4_e2m1_t::unpack ( number< I > ) const
inlineconstexpr

Member Data Documentation

◆ data

type ck_tile::pk_float4_e2m1_t::data

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