pk_fp4.hpp Source File#
pk_fp4.hpp
Go to the documentation of this file.
72CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t float_to_pk_fp4(const float& x, float scale = 1.f);
418 return fp32x2_t{e2m1_to_fp32_table[_unpack(number<0>{})] * scale, e2m1_to_fp32_table[_unpack(number<1>{}] * scale};
Definition arch.hpp:385
CK_TILE_HOST_DEVICE constexpr _Float16 lane0(const fp16x2_t &v)
Definition pk_fp4.hpp:43
CK_TILE_HOST_DEVICE constexpr _Float16 lane1(const fp16x2_t &v)
Definition pk_fp4.hpp:47
Definition tile/core/arch/amd_buffer_addressing.hpp:110
Definition tile/core/algorithm/cluster_descriptor.hpp:13
CK_TILE_HOST_DEVICE float convert_to_float(typename T::raw_type data, float scale=1.f)
Definition mxfp_convert.hpp:50
CK_TILE_HOST_DEVICE constexpr fp16x2_t pk_fp4_to_fp16x2(const pk_fp4_t &x, float scale)
Definition pk_fp4.hpp:354
CK_TILE_HOST_DEVICE constexpr bf16x2_t pk_fp4_to_bf16x2(const pk_fp4_t &x, float scale)
Definition pk_fp4.hpp:358
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t float_to_pk_fp4(const float &x, float scale=1.f)
Definition pk_fp4.hpp:295
CK_TILE_HOST_DEVICE T::raw_type convert_to_type(float value, float scale=1.f)
Definition mxfp_convert.hpp:61
CK_TILE_HOST_DEVICE constexpr fp32x2_t pk_fp4_to_fp32x2(const pk_fp4_t &x, float scale)
Definition pk_fp4.hpp:350
CK_TILE_HOST_DEVICE constexpr pk_fp4_t fp32x2_to_pk_fp4(const fp32x2_t &x, float scale)
Definition pk_fp4.hpp:340
CK_TILE_HOST_DEVICE constexpr pk_fp4_t fp16x2_to_pk_fp4(const fp16x2_t &x, float scale)
Definition pk_fp4.hpp:322
CK_TILE_HOST_DEVICE constexpr pk_fp4_t fp16_to_pk_fp4(const fp16_t &x, float scale)
Definition pk_fp4.hpp:304
CK_TILE_HOST_DEVICE constexpr pk_fp4_t bf16x2_to_pk_fp4(const bf16x2_t &x, float scale)
Definition pk_fp4.hpp:331
CK_TILE_HOST_DEVICE constexpr fp16_t pk_fp4_to_fp16(const pk_fp4_t &x, float scale)
Definition pk_fp4.hpp:366
CK_TILE_HOST_DEVICE constexpr pk_fp4_raw_t float_to_mxfp4(float x, float scale)
Definition pk_fp4.hpp:287
CK_TILE_HOST_DEVICE constexpr Y type_convert(X x)
Definition tile/core/numeric/type_convert.hpp:29
CK_TILE_HOST_DEVICE constexpr bf16_t pk_fp4_to_bf16(const pk_fp4_t &x, float scale)
Definition pk_fp4.hpp:370
CK_TILE_HOST_DEVICE constexpr float pk_fp4_to_float(const pk_fp4_t &x, float scale)
Definition pk_fp4.hpp:362
CK_TILE_HOST_DEVICE constexpr pk_fp4_t bf16_to_pk_fp4(const bf16_t &x, float scale)
Definition pk_fp4.hpp:313
Definition pk_fp4.hpp:35
Definition pk_fp4.hpp:31
Definition pk_fp4.hpp:39
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t lowest()
Definition pk_fp4.hpp:180
static CK_TILE_HOST_DEVICE constexpr bool has_inf()
Definition pk_fp4.hpp:186
static constexpr pk_fp4_raw_t binary_min_normal
Definition pk_fp4.hpp:172
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t round_error()
Definition pk_fp4.hpp:182
static constexpr pk_fp4_raw_t binary_max_subnorm
Definition pk_fp4.hpp:176
static constexpr pk_fp4_raw_t binary_min_subnorm
Definition pk_fp4.hpp:175
static constexpr pk_fp4_raw_t binary_zero
Definition pk_fp4.hpp:177
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t denorm_min()
Definition pk_fp4.hpp:184
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t epsilon()
Definition pk_fp4.hpp:181
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t signaling_NaN()
Definition pk_fp4.hpp:192
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t min()
Definition pk_fp4.hpp:178
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t max()
Definition pk_fp4.hpp:179
static constexpr pk_fp4_raw_t binary_lowest_normal
Definition pk_fp4.hpp:174
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t zero()
Definition pk_fp4.hpp:183
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t quiet_NaN()
Definition pk_fp4.hpp:190
static constexpr pk_fp4_raw_t binary_max_normal
Definition pk_fp4.hpp:173
static CK_TILE_HOST_DEVICE constexpr pk_fp4_t infinity()
Definition pk_fp4.hpp:188
static constexpr int PackedSize
Definition pk_fp4.hpp:162
Definition tile/core/numeric/numeric.hpp:81
Definition tile/core/numeric/numeric.hpp:18
static CK_TILE_HOST_DEVICE constexpr T max()
Definition tile/core/numeric/numeric.hpp:26
Definition pk_fp4.hpp:76
CK_TILE_HOST_DEVICE constexpr fp32x2_t to_fp32x2(float scale=1.f) const
Definition pk_fp4.hpp:384
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t(float init, float scale=1.f)
Definition pk_fp4.hpp:87
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t unpack(number< I >) const
Definition pk_fp4.hpp:110
CK_TILE_HOST_DEVICE constexpr fp16_t to_fp16(float scale=1.f) const
Definition pk_fp4.hpp:394
CK_TILE_HOST_DEVICE constexpr type get() const
Definition pk_fp4.hpp:93
CK_TILE_HOST_DEVICE static constexpr type _pack(const type x0, const type x1)
Definition pk_fp4.hpp:122
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t()
Definition pk_fp4.hpp:82
CK_TILE_HOST_DEVICE constexpr bf16_t to_bf16(float scale=1.f) const
Definition pk_fp4.hpp:267
CK_TILE_HOST_DEVICE constexpr pk_float4_e2m1_t(T init)
Definition pk_fp4.hpp:84
CK_TILE_HOST_DEVICE constexpr fp16x2_t to_fp16x2(float scale=1.f) const
Definition pk_fp4.hpp:402
CK_TILE_HOST_DEVICE static constexpr pk_float4_e2m1_t pack(const pk_float4_e2m1_t &x0, const pk_float4_e2m1_t &x1)
Definition pk_fp4.hpp:114
CK_TILE_HOST_DEVICE constexpr type _unpack(number< I >) const
CK_TILE_HOST_DEVICE constexpr bf16x2_t to_bf16x2(float scale=1.f) const
Definition pk_fp4.hpp:276
CK_TILE_HOST_DEVICE constexpr float to_float(float scale=1.f) const
Definition pk_fp4.hpp:376
#define CK_TILE_ARITHMETIC_USING_FLOAT(attr_, type_)
Definition tile/core/numeric/numeric.hpp:106