1616
1717// ================================================================================
1818// this file has been auto-generated, do not modify its contents!
19- // date: 2023-09-21 10:00:11.122069
20- // git hash: 227f987d3fc10499e680bb68f00e1c579afeda97
19+ // date: 2023-09-28 09:58:58.074478
20+ // git hash: 46d598cbca2b9e15abe91848fdcb417d69f0820a
2121// ================================================================================
2222
2323#ifndef KERNEL_FLOAT_MACROS_H
@@ -3785,6 +3785,46 @@ struct promote_type<__half, __nv_bfloat16> {
37853785#endif
37863786
37873787#endif // KERNEL_FLOAT_BF16_H
3788+ #ifndef KERNEL_FLOAT_FP8_H
3789+ #define KERNEL_FLOAT_FP8_H
3790+
3791+
3792+
3793+ #if KERNEL_FLOAT_FP8_AVAILABLE
3794+ #include < cuda_fp8.h>
3795+
3796+
3797+
3798+ namespace kernel_float {
3799+ KERNEL_FLOAT_DEFINE_PROMOTED_FLOAT (__nv_fp8_e4m3)
3800+ KERNEL_FLOAT_DEFINE_PROMOTED_TYPE (float , __nv_fp8_e4m3)
3801+ KERNEL_FLOAT_DEFINE_PROMOTED_TYPE (double , __nv_fp8_e4m3)
3802+
3803+ KERNEL_FLOAT_DEFINE_PROMOTED_FLOAT (__nv_fp8_e5m2)
3804+ KERNEL_FLOAT_DEFINE_PROMOTED_TYPE (float , __nv_fp8_e5m2)
3805+ KERNEL_FLOAT_DEFINE_PROMOTED_TYPE (double , __nv_fp8_e5m2)
3806+ } // namespace kernel_float
3807+
3808+ #if KERNEL_FLOAT_FP16_AVAILABLE
3809+
3810+
3811+ namespace kernel_float {
3812+ KERNEL_FLOAT_DEFINE_PROMOTED_TYPE (__half, __nv_fp8_e4m3)
3813+ KERNEL_FLOAT_DEFINE_PROMOTED_TYPE (__half, __nv_fp8_e5m2)
3814+ } // namespace kernel_float
3815+ #endif // KERNEL_FLOAT_FP16_AVAILABLE
3816+
3817+ #if KERNEL_FLOAT_BF16_AVAILABLE
3818+
3819+
3820+ namespace kernel_float {
3821+ KERNEL_FLOAT_DEFINE_PROMOTED_TYPE (__nv_bfloat16, __nv_fp8_e4m3)
3822+ KERNEL_FLOAT_DEFINE_PROMOTED_TYPE (__nv_bfloat16, __nv_fp8_e5m2)
3823+ } // namespace kernel_float
3824+ #endif // KERNEL_FLOAT_BF16_AVAILABLE
3825+
3826+ #endif // KERNEL_FLOAT_FP8_AVAILABLE
3827+ #endif // KERNEL_FLOAT_FP8_H
37883828#ifndef KERNEL_FLOAT_PRELUDE_H
37893829#define KERNEL_FLOAT_PRELUDE_H
37903830
@@ -3793,6 +3833,7 @@ struct promote_type<__half, __nv_bfloat16> {
37933833
37943834
37953835
3836+
37963837namespace kernel_float {
37973838namespace prelude {
37983839namespace kf = ::kernel_float;
@@ -3853,8 +3894,14 @@ KERNEL_FLOAT_TYPE_ALIAS(float16x, __half)
38533894#endif
38543895
38553896#if KERNEL_FLOAT_BF16_AVAILABLE
3856- KERNEL_FLOAT_TYPE_ALIAS (bfloat16, __nv_bfloat16)
3857- KERNEL_FLOAT_TYPE_ALIAS(bf16 , __nv_bfloat16)
3897+ KERNEL_FLOAT_TYPE_ALIAS (bfloat16x, __nv_bfloat16)
3898+ KERNEL_FLOAT_TYPE_ALIAS(bf16x, __nv_bfloat16)
3899+ #endif
3900+
3901+ #if KERNEL_FLOAT_BF8_AVAILABLE
3902+ KERNEL_FLOAT_TYPE_ALIAS (float8x, __nv_fp8_e4m3)
3903+ KERNEL_FLOAT_TYPE_ALIAS(float8_e4m3x, __nv_fp8_e4m3)
3904+ KERNEL_FLOAT_TYPE_ALIAS(float8_e5m2x, __nv_fp8_e5m2)
38583905#endif
38593906
38603907template <size_t N>
0 commit comments