|
1 | 1 | //================================================================================ |
2 | 2 | // this file has been auto-generated, do not modify its contents! |
3 | | -// date: 2023-08-28 14:29:52.760763 |
4 | | -// git hash: 31ffbb7ca20f9c4a1c43b37e06c99600a8f15b91 |
| 3 | +// date: 2023-09-18 17:41:12.641561 |
| 4 | +// git hash: 64f21903e8049e4a46c53897a167f31174e1a231 |
5 | 5 | //================================================================================ |
6 | 6 |
|
7 | 7 | #ifndef KERNEL_FLOAT_MACROS_H |
@@ -550,6 +550,17 @@ struct into_vector_traits<aligned_array<T, N, A>> { |
550 | 550 |
|
551 | 551 | #define KERNEL_FLOAT_DEFINE_VECTOR_TYPE(T, T1, T2, T3, T4) \ |
552 | 552 | template<> \ |
| 553 | + struct into_vector_traits<::T1> { \ |
| 554 | + using value_type = T; \ |
| 555 | + using extent_type = extent<1>; \ |
| 556 | + \ |
| 557 | + KERNEL_FLOAT_INLINE \ |
| 558 | + static vector_storage<T, 1> call(::T1 v) { \ |
| 559 | + return {v.x}; \ |
| 560 | + } \ |
| 561 | + }; \ |
| 562 | + \ |
| 563 | + template<> \ |
553 | 564 | struct into_vector_traits<::T2> { \ |
554 | 565 | using value_type = T; \ |
555 | 566 | using extent_type = extent<2>; \ |
@@ -2759,7 +2770,7 @@ struct vector: public S { |
2759 | 2770 | typename... Rest, |
2760 | 2771 | typename = enabled_t<sizeof...(Rest) + 2 == E::size>> |
2761 | 2772 | KERNEL_FLOAT_INLINE vector(const A& a, const B& b, const Rest&... rest) : |
2762 | | - storage_type {a, b, rest...} {} |
| 2773 | + storage_type {T(a), T(b), T(rest)...} {} |
2763 | 2774 |
|
2764 | 2775 | /** |
2765 | 2776 | * Returns the number of elements in this vector. |
@@ -3021,7 +3032,7 @@ template<typename T> using vec8 = vec<T, 8>; |
3021 | 3032 | template<typename... Args> |
3022 | 3033 | KERNEL_FLOAT_INLINE vec<promote_t<Args...>, sizeof...(Args)> make_vec(Args&&... args) { |
3023 | 3034 | using T = promote_t<Args...>; |
3024 | | - return vector_storage<T, sizeof...(Args)> {T {args}...}; |
| 3035 | + return vector_storage<T, sizeof...(Args)> {T(args)...}; |
3025 | 3036 | }; |
3026 | 3037 |
|
3027 | 3038 | #if defined(__cpp_deduction_guides) |
@@ -3484,7 +3495,7 @@ KERNEL_FLOAT_BF16_UNARY_FORWARD(expm1) |
3484 | 3495 | } \ |
3485 | 3496 | namespace detail { \ |
3486 | 3497 | template<> \ |
3487 | | - struct map_halfx2<ops::NAME<__nv_bfloat16>> { \ |
| 3498 | + struct map_bfloat16x2<ops::NAME<__nv_bfloat16>> { \ |
3488 | 3499 | KERNEL_FLOAT_INLINE static __nv_bfloat162 \ |
3489 | 3500 | call(ops::NAME<__nv_bfloat16>, __nv_bfloat162 input) { \ |
3490 | 3501 | return FUN2(input); \ |
@@ -3664,12 +3675,12 @@ KERNEL_FLOAT_BF16_CAST(__half, __float2bfloat16(input), __bfloat162float(input)) |
3664 | 3675 | template<> |
3665 | 3676 | struct promote_type<__nv_bfloat16, __half> { |
3666 | 3677 | using type = float; |
3667 | | -} |
| 3678 | +}; |
3668 | 3679 |
|
3669 | 3680 | template<> |
3670 | 3681 | struct promote_type<__half, __nv_bfloat16> { |
3671 | 3682 | using type = float; |
3672 | | -} |
| 3683 | +}; |
3673 | 3684 |
|
3674 | 3685 | } // namespace kernel_float |
3675 | 3686 |
|
|
0 commit comments