From 31674ff87e97352d9b9744052052caffedf47882 Mon Sep 17 00:00:00 2001 From: zhangyang2057 Date: Tue, 2 Dec 2025 16:11:09 +0800 Subject: [PATCH 1/3] Refactor ntt cast. --- .../nncase/ntt/arch/riscv64/ukernels.h | 178 ++++++++++++++++ ntt/include/nncase/ntt/kernels/cast.h | 193 +++--------------- ntt/include/nncase/ntt/ukernels/u_cast.h | 95 ++------- 3 files changed, 220 insertions(+), 246 deletions(-) diff --git a/ntt/include/nncase/ntt/arch/riscv64/ukernels.h b/ntt/include/nncase/ntt/arch/riscv64/ukernels.h index 162e298912..5f83ef32f7 100644 --- a/ntt/include/nncase/ntt/arch/riscv64/ukernels.h +++ b/ntt/include/nncase/ntt/arch/riscv64/ukernels.h @@ -547,6 +547,7 @@ template struct u_reduce_policy { static constexpr size_t unroll = 8; }; +#if 0 // cast template <> struct u_cast_policy { static constexpr size_t unroll = 8; @@ -899,6 +900,183 @@ DEFINE_U_CAST_2_1(half, 16, float_e4m3_t, 8, _Float16, int8_t, f16, float8e4m3) DEFINE_U_CAST_1_2(half, 16, float, 32, _Float16, float, float16, f32) #if defined(NNCASE_XPU_MODULE) && defined(SYS_MODE) DEFINE_U_CAST_1_2(float_e4m3_t, 8, half, 16, int8_t, _Float16, float8e4m3, f16) +#endif +#else +// cast +template <> struct u_cast_policy { + static constexpr size_t unroll = 8; +}; + +#define DEFINE_U_CAST_2_1(IN_ELEM, IN_BW, OUT_ELEM, OUT_BW, IN_BUILTIN_ELEM, \ + OUT_BUILTIN_ELEM, IN_INTRINSIC_ELEM, \ + OUT_INTRINSIC_ELEM) \ + template