From d1ff67f39894cbd80877e3bea69eef3da2426447 Mon Sep 17 00:00:00 2001 From: nihuini Date: Wed, 21 Aug 2024 19:38:19 +0800 Subject: [PATCH] zfh to zvfh --- src/layer/riscv/absval_riscv.cpp | 10 +++++----- src/layer/riscv/absval_riscv.h | 2 +- src/layer/riscv/batchnorm_riscv.cpp | 8 ++++---- src/layer/riscv/batchnorm_riscv.h | 2 +- src/layer/riscv/binaryop_riscv.cpp | 12 ++++++------ src/layer/riscv/binaryop_riscv.h | 2 +- src/layer/riscv/cast_riscv.cpp | 6 +++--- src/layer/riscv/clip_riscv.cpp | 10 +++++----- src/layer/riscv/clip_riscv.h | 2 +- src/layer/riscv/concat_riscv.cpp | 4 ++-- src/layer/riscv/convolution1d_riscv.cpp | 10 +++++----- src/layer/riscv/convolution1d_riscv.h | 2 +- src/layer/riscv/convolution_riscv.cpp | 12 ++++++------ src/layer/riscv/convolution_riscv.h | 2 +- src/layer/riscv/convolutiondepthwise_riscv.cpp | 12 ++++++------ src/layer/riscv/convolutiondepthwise_riscv.h | 2 +- src/layer/riscv/crop_riscv.cpp | 2 +- src/layer/riscv/deconvolution_riscv.cpp | 12 ++++++------ src/layer/riscv/deconvolution_riscv.h | 2 +- src/layer/riscv/deconvolutiondepthwise_riscv.cpp | 10 +++++----- src/layer/riscv/deconvolutiondepthwise_riscv.h | 2 +- src/layer/riscv/flatten_riscv.cpp | 4 ++-- src/layer/riscv/gru_riscv.cpp | 12 ++++++------ src/layer/riscv/gru_riscv.h | 2 +- src/layer/riscv/hardsigmoid_riscv.cpp | 6 +++--- src/layer/riscv/hardsigmoid_riscv.h | 2 +- src/layer/riscv/hardswish_riscv.cpp | 6 +++--- src/layer/riscv/hardswish_riscv.h | 2 +- src/layer/riscv/innerproduct_riscv.cpp | 10 +++++----- src/layer/riscv/innerproduct_riscv.h | 2 +- src/layer/riscv/instancenorm_riscv.cpp | 8 ++++---- src/layer/riscv/instancenorm_riscv.h | 2 +- src/layer/riscv/interp_riscv.cpp | 10 +++++----- src/layer/riscv/interp_riscv.h | 2 +- src/layer/riscv/mish_riscv.cpp | 10 +++++----- src/layer/riscv/mish_riscv.h | 2 +- src/layer/riscv/packing_riscv.cpp | 4 ++-- src/layer/riscv/padding_riscv.cpp | 14 +++++++------- src/layer/riscv/pooling_riscv.cpp | 8 ++++---- src/layer/riscv/pooling_riscv.h | 2 +- src/layer/riscv/prelu_riscv.cpp | 6 +++--- src/layer/riscv/prelu_riscv.h | 2 +- src/layer/riscv/relu_riscv.cpp | 6 +++--- src/layer/riscv/relu_riscv.h | 2 +- src/layer/riscv/riscv_activation.h | 4 ++-- src/layer/riscv/riscv_usability.h | 8 ++++---- src/layer/riscv/sigmoid_riscv.cpp | 10 +++++----- src/layer/riscv/sigmoid_riscv.h | 2 +- src/layer/riscv/swish_riscv.cpp | 10 +++++----- src/layer/riscv/swish_riscv.h | 2 +- src/layer/riscv/tanh_riscv.cpp | 10 +++++----- src/layer/riscv/tanh_riscv.h | 2 +- src/layer/riscv/unaryop_riscv.cpp | 10 +++++----- src/layer/riscv/unaryop_riscv.h | 2 +- 54 files changed, 155 insertions(+), 155 deletions(-) diff --git a/src/layer/riscv/absval_riscv.cpp b/src/layer/riscv/absval_riscv.cpp index 77315af0b8c..c8fe34e3a4a 100644 --- a/src/layer/riscv/absval_riscv.cpp +++ b/src/layer/riscv/absval_riscv.cpp @@ -21,12 +21,12 @@ static inline vfloat32m8_t __riscv_vfabs_v_f32m8_absval(vfloat32m8_t op1, size_t { return __riscv_vfsgnjx_vv_f32m8(op1, op1, vl); } -#if __riscv_zfh +#if __riscv_zvfh static inline vfloat16m8_t __riscv_vfabs_v_f16m8_absval(vfloat16m8_t op1, size_t vl) { return __riscv_vfsgnjx_vv_f16m8(op1, op1, vl); } -#endif // __riscv_zfh +#endif // __riscv_zvfh #endif // __riscv_vector namespace ncnn { @@ -35,7 +35,7 @@ AbsVal_riscv::AbsVal_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -43,7 +43,7 @@ AbsVal_riscv::AbsVal_riscv() int AbsVal_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -90,7 +90,7 @@ int AbsVal_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int AbsVal_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; diff --git a/src/layer/riscv/absval_riscv.h b/src/layer/riscv/absval_riscv.h index 0d35c6b61a0..af1d31f8a3a 100644 --- a/src/layer/riscv/absval_riscv.h +++ b/src/layer/riscv/absval_riscv.h @@ -27,7 +27,7 @@ class AbsVal_riscv : public AbsVal virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; #endif }; diff --git a/src/layer/riscv/batchnorm_riscv.cpp b/src/layer/riscv/batchnorm_riscv.cpp index 9671347a998..46974c3b398 100644 --- a/src/layer/riscv/batchnorm_riscv.cpp +++ b/src/layer/riscv/batchnorm_riscv.cpp @@ -26,7 +26,7 @@ BatchNorm_riscv::BatchNorm_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -37,7 +37,7 @@ int BatchNorm_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) co #if __riscv_vector int elembits = bottom_top_blob.elembits(); -#if __riscv_zfh +#if __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -224,7 +224,7 @@ int BatchNorm_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) co return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int BatchNorm_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int dims = bottom_top_blob.dims; @@ -533,5 +533,5 @@ int BatchNorm_riscv::forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/batchnorm_riscv.h b/src/layer/riscv/batchnorm_riscv.h index 1ed4dc63d0d..c745e5703c4 100644 --- a/src/layer/riscv/batchnorm_riscv.h +++ b/src/layer/riscv/batchnorm_riscv.h @@ -26,7 +26,7 @@ class BatchNorm_riscv : public BatchNorm virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; int forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/binaryop_riscv.cpp b/src/layer/riscv/binaryop_riscv.cpp index f4a18930194..febb1f4443e 100644 --- a/src/layer/riscv/binaryop_riscv.cpp +++ b/src/layer/riscv/binaryop_riscv.cpp @@ -20,7 +20,7 @@ #if __riscv_vector #include #include "rvv_mathfun.h" -#if __riscv_zfh +#if __riscv_zvfh #include "rvv_mathfun_fp16s.h" #endif #endif // __riscv_vector @@ -33,7 +33,7 @@ BinaryOp_riscv::BinaryOp_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif @@ -473,7 +473,7 @@ int BinaryOp_riscv::forward(const std::vector& bottom_blobs, std::vector static void binary_op_vector_no_broadcast_fp16s(const __fp16* ptr, const __fp16* ptr1, __fp16* outptr, int size) { @@ -1205,6 +1205,6 @@ int BinaryOp_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& op return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/binaryop_riscv.h b/src/layer/riscv/binaryop_riscv.h index afc728b6e68..c95277c785f 100644 --- a/src/layer/riscv/binaryop_riscv.h +++ b/src/layer/riscv/binaryop_riscv.h @@ -31,7 +31,7 @@ class BinaryOp_riscv : public BinaryOp virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_fp16s(const std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const; int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/cast_riscv.cpp b/src/layer/riscv/cast_riscv.cpp index 5539b426ba2..0cdfa3a3dc6 100644 --- a/src/layer/riscv/cast_riscv.cpp +++ b/src/layer/riscv/cast_riscv.cpp @@ -24,7 +24,7 @@ Cast_riscv::Cast_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -89,7 +89,7 @@ int Cast_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Option& opt int size = w * h * d * elempack; -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (type_from == 1 && type_to == 2) { #pragma omp parallel for num_threads(opt.num_threads) @@ -137,7 +137,7 @@ int Cast_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Option& opt } } } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh if (type_from == 3 && type_to == 1) { diff --git a/src/layer/riscv/clip_riscv.cpp b/src/layer/riscv/clip_riscv.cpp index 70d13df3d83..bb6b4e1d79a 100644 --- a/src/layer/riscv/clip_riscv.cpp +++ b/src/layer/riscv/clip_riscv.cpp @@ -17,7 +17,7 @@ #if __riscv_vector #include #include "rvv_mathfun.h" -#if __riscv_zfh +#if __riscv_zvfh #include "rvv_mathfun_fp16s.h" #endif #endif // __riscv_vector @@ -28,7 +28,7 @@ Clip_riscv::Clip_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -36,7 +36,7 @@ Clip_riscv::Clip_riscv() int Clip_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -91,7 +91,7 @@ int Clip_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int Clip_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; @@ -155,6 +155,6 @@ int Clip_riscv::forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } //namespace ncnn diff --git a/src/layer/riscv/clip_riscv.h b/src/layer/riscv/clip_riscv.h index 051995e18d6..5b81b8dd64f 100644 --- a/src/layer/riscv/clip_riscv.h +++ b/src/layer/riscv/clip_riscv.h @@ -27,7 +27,7 @@ class Clip_riscv : public Clip virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; int forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/concat_riscv.cpp b/src/layer/riscv/concat_riscv.cpp index 73f321af7e5..ff841222f21 100644 --- a/src/layer/riscv/concat_riscv.cpp +++ b/src/layer/riscv/concat_riscv.cpp @@ -26,7 +26,7 @@ Concat_riscv::Concat_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -40,7 +40,7 @@ int Concat_riscv::forward(const std::vector& bottom_blobs, std::vector { int elembits = bottom_blobs[0].elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) return forward_bf16s_fp16s(bottom_blobs, top_blobs, opt); #endif diff --git a/src/layer/riscv/convolution1d_riscv.cpp b/src/layer/riscv/convolution1d_riscv.cpp index 8d3e62e1a9b..5cd827fb122 100644 --- a/src/layer/riscv/convolution1d_riscv.cpp +++ b/src/layer/riscv/convolution1d_riscv.cpp @@ -30,7 +30,7 @@ Convolution1D_riscv::Convolution1D_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -41,7 +41,7 @@ int Convolution1D_riscv::create_pipeline(const Option& opt) if (dynamic_weight) return 0; -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage) { return create_pipeline_fp16s(opt); @@ -110,7 +110,7 @@ int Convolution1D_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Op { int elembits = bottom_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -424,7 +424,7 @@ int Convolution1D_riscv::forward(const std::vector& bottom_blobs, std::vect return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int Convolution1D_riscv::create_pipeline_fp16s(const Option& opt) { const int packn = csrr_vlenb() / 2; @@ -910,6 +910,6 @@ int Convolution1D_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, c return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/convolution1d_riscv.h b/src/layer/riscv/convolution1d_riscv.h index f0e7f881801..7aac3b1e685 100644 --- a/src/layer/riscv/convolution1d_riscv.h +++ b/src/layer/riscv/convolution1d_riscv.h @@ -32,7 +32,7 @@ class Convolution1D_riscv : public Convolution1D virtual int forward(const std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int create_pipeline_fp16s(const Option& opt); int forward_fp16s(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; int forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; diff --git a/src/layer/riscv/convolution_riscv.cpp b/src/layer/riscv/convolution_riscv.cpp index fef27f21967..0e00c8a1270 100644 --- a/src/layer/riscv/convolution_riscv.cpp +++ b/src/layer/riscv/convolution_riscv.cpp @@ -52,7 +52,7 @@ namespace ncnn { #include "convolution_3x3_pack1ton.h" #include "convolution_7x7_pack1ton.h" -#if __riscv_zfh +#if __riscv_zvfh #include "convolution_fp16s.h" #include "convolution_packn_fp16s.h" #include "convolution_pack1ton_fp16s.h" @@ -79,7 +79,7 @@ Convolution_riscv::Convolution_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -138,7 +138,7 @@ int Convolution_riscv::create_pipeline(const Option& opt) } #endif -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage) { return create_pipeline_fp16s(opt); @@ -326,7 +326,7 @@ int Convolution_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Opti int elembits = bottom_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -715,7 +715,7 @@ int Convolution_riscv::forward(const std::vector& bottom_blobs, std::vector return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh static void convolution_transform_kernel_packed_fp16s_rvv(const Mat& weight_data, Mat& weight_data_tm, int num_input, int num_output, int kernel_w, int kernel_h, int elempack, int out_elempack) { const int maxk = kernel_w * kernel_h; @@ -1102,6 +1102,6 @@ int Convolution_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, con return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/convolution_riscv.h b/src/layer/riscv/convolution_riscv.h index a4e008c9dd1..766c7cd2437 100644 --- a/src/layer/riscv/convolution_riscv.h +++ b/src/layer/riscv/convolution_riscv.h @@ -32,7 +32,7 @@ class Convolution_riscv : public Convolution virtual int forward(const std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int create_pipeline_fp16s(const Option& opt); int forward_fp16s(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; int forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; diff --git a/src/layer/riscv/convolutiondepthwise_riscv.cpp b/src/layer/riscv/convolutiondepthwise_riscv.cpp index 30cb8ece728..87edd5a11a6 100644 --- a/src/layer/riscv/convolutiondepthwise_riscv.cpp +++ b/src/layer/riscv/convolutiondepthwise_riscv.cpp @@ -32,7 +32,7 @@ namespace ncnn { #include "convolutiondepthwise_3x3_packn.h" #include "convolutiondepthwise_5x5_packn.h" -#if __riscv_zfh +#if __riscv_zvfh #include "convolutiondepthwise_3x3_packn_fp16s.h" #include "convolutiondepthwise_5x5_packn_fp16s.h" #endif @@ -42,7 +42,7 @@ ConvolutionDepthWise_riscv::ConvolutionDepthWise_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -65,7 +65,7 @@ int ConvolutionDepthWise_riscv::create_pipeline(const Option& opt) } #endif -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage) { return create_pipeline_fp16s(opt); @@ -266,7 +266,7 @@ int ConvolutionDepthWise_riscv::forward(const Mat& bottom_blob, Mat& top_blob, c int elembits = bottom_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -650,7 +650,7 @@ int ConvolutionDepthWise_riscv::forward(const std::vector& bottom_blobs, st return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int ConvolutionDepthWise_riscv::create_pipeline_fp16s(const Option& opt) { const int packn = csrr_vlenb() / 2; @@ -1155,6 +1155,6 @@ int ConvolutionDepthWise_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_ return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/convolutiondepthwise_riscv.h b/src/layer/riscv/convolutiondepthwise_riscv.h index f9503975296..9a0c1b59e08 100644 --- a/src/layer/riscv/convolutiondepthwise_riscv.h +++ b/src/layer/riscv/convolutiondepthwise_riscv.h @@ -33,7 +33,7 @@ class ConvolutionDepthWise_riscv : public ConvolutionDepthWise protected: int create_group_ops(const Option& opt); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int create_pipeline_fp16s(const Option& opt); int forward_fp16s(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; int forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; diff --git a/src/layer/riscv/crop_riscv.cpp b/src/layer/riscv/crop_riscv.cpp index 9191ab0f964..2a32a8b8218 100644 --- a/src/layer/riscv/crop_riscv.cpp +++ b/src/layer/riscv/crop_riscv.cpp @@ -26,7 +26,7 @@ Crop_riscv::Crop_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector diff --git a/src/layer/riscv/deconvolution_riscv.cpp b/src/layer/riscv/deconvolution_riscv.cpp index 3b6364e8020..cf7118b2675 100644 --- a/src/layer/riscv/deconvolution_riscv.cpp +++ b/src/layer/riscv/deconvolution_riscv.cpp @@ -31,7 +31,7 @@ namespace ncnn { #include "deconvolution_pack1ton.h" #include "deconvolution_packnto1.h" -#if __riscv_zfh +#if __riscv_zvfh #include "deconvolution_fp16s.h" #include "deconvolution_packn_fp16s.h" #include "deconvolution_pack1ton_fp16s.h" @@ -43,7 +43,7 @@ Deconvolution_riscv::Deconvolution_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -54,7 +54,7 @@ int Deconvolution_riscv::create_pipeline(const Option& opt) if (dynamic_weight) return 0; -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage) { return create_pipeline_fp16s(opt); @@ -163,7 +163,7 @@ int Deconvolution_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Op { int elembits = bottom_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -444,7 +444,7 @@ int Deconvolution_riscv::forward(const std::vector& bottom_blobs, std::vect return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int Deconvolution_riscv::create_pipeline_fp16s(const Option& opt) { const int packn = csrr_vlenb() / 2; @@ -678,6 +678,6 @@ int Deconvolution_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, c return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/deconvolution_riscv.h b/src/layer/riscv/deconvolution_riscv.h index 57d30349aad..c8b37cea652 100644 --- a/src/layer/riscv/deconvolution_riscv.h +++ b/src/layer/riscv/deconvolution_riscv.h @@ -32,7 +32,7 @@ class Deconvolution_riscv : public Deconvolution virtual int forward(const std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int create_pipeline_fp16s(const Option& opt); int forward_fp16s(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; int forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; diff --git a/src/layer/riscv/deconvolutiondepthwise_riscv.cpp b/src/layer/riscv/deconvolutiondepthwise_riscv.cpp index 238a2f490f1..1010ceec516 100644 --- a/src/layer/riscv/deconvolutiondepthwise_riscv.cpp +++ b/src/layer/riscv/deconvolutiondepthwise_riscv.cpp @@ -30,7 +30,7 @@ DeconvolutionDepthWise_riscv::DeconvolutionDepthWise_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -41,7 +41,7 @@ int DeconvolutionDepthWise_riscv::create_pipeline(const Option& opt) if (dynamic_weight) return 0; -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage) { return create_pipeline_fp16s(opt); @@ -198,7 +198,7 @@ int DeconvolutionDepthWise_riscv::forward(const Mat& bottom_blob, Mat& top_blob, { int elembits = bottom_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -570,7 +570,7 @@ int DeconvolutionDepthWise_riscv::forward(const std::vector& bottom_blobs, return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int DeconvolutionDepthWise_riscv::create_pipeline_fp16s(const Option& opt) { const int packn = csrr_vlenb() / 2; @@ -1077,6 +1077,6 @@ int DeconvolutionDepthWise_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& to return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/deconvolutiondepthwise_riscv.h b/src/layer/riscv/deconvolutiondepthwise_riscv.h index b0c8f7b0119..f83bbf31dcf 100644 --- a/src/layer/riscv/deconvolutiondepthwise_riscv.h +++ b/src/layer/riscv/deconvolutiondepthwise_riscv.h @@ -33,7 +33,7 @@ class DeconvolutionDepthWise_riscv : public DeconvolutionDepthWise protected: int create_group_ops(const Option& opt); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int create_pipeline_fp16s(const Option& opt); int forward_fp16s(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; int forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; diff --git a/src/layer/riscv/flatten_riscv.cpp b/src/layer/riscv/flatten_riscv.cpp index a2b2b986983..71a0218015d 100644 --- a/src/layer/riscv/flatten_riscv.cpp +++ b/src/layer/riscv/flatten_riscv.cpp @@ -26,7 +26,7 @@ Flatten_riscv::Flatten_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -43,7 +43,7 @@ int Flatten_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Option& if (elembits == 8) return forward_int8(bottom_blob, top_blob, opt); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) return forward_bf16s_fp16s(bottom_blob, top_blob, opt); #endif diff --git a/src/layer/riscv/gru_riscv.cpp b/src/layer/riscv/gru_riscv.cpp index ec619e173eb..6d6330c3eef 100644 --- a/src/layer/riscv/gru_riscv.cpp +++ b/src/layer/riscv/gru_riscv.cpp @@ -208,7 +208,7 @@ static int gru(const Mat& bottom_blob, Mat& top_blob, int reverse, const Mat& we GRU_riscv::GRU_riscv() { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh support_fp16_storage = true; #endif } @@ -223,7 +223,7 @@ int GRU_riscv::create_pipeline(const Option& opt) } #endif -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && opt.use_fp16_arithmetic) return create_pipeline_fp16sa(opt); #endif @@ -243,7 +243,7 @@ int GRU_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Option& opt) int elembits = bottom_blob.elembits(); #if __riscv_vector -#if __riscv_zfh +#if __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -325,7 +325,7 @@ int GRU_riscv::forward(const std::vector& bottom_blobs, std::vector& t int elembits = bottom_blob.elembits(); #if __riscv_vector -#if __riscv_zfh +#if __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -408,7 +408,7 @@ int GRU_riscv::forward(const std::vector& bottom_blobs, std::vector& t return GRU::forward(bottom_blobs, top_blobs, opt); } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh static int gru_fp16s(const Mat& bottom_blob, Mat& top_blob, int reverse, const Mat& weight_xc, const Mat& bias_c, const Mat& weight_hc, Mat& hidden_state, const Option& opt) { int size = bottom_blob.w; @@ -728,7 +728,7 @@ int GRU_riscv::forward_fp16s(const std::vector& bottom_blobs, std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const; int forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; diff --git a/src/layer/riscv/hardsigmoid_riscv.cpp b/src/layer/riscv/hardsigmoid_riscv.cpp index f6434038622..f16bbfab10a 100644 --- a/src/layer/riscv/hardsigmoid_riscv.cpp +++ b/src/layer/riscv/hardsigmoid_riscv.cpp @@ -27,7 +27,7 @@ HardSigmoid_riscv::HardSigmoid_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -35,7 +35,7 @@ HardSigmoid_riscv::HardSigmoid_riscv() int HardSigmoid_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -91,7 +91,7 @@ int HardSigmoid_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int HardSigmoid_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; diff --git a/src/layer/riscv/hardsigmoid_riscv.h b/src/layer/riscv/hardsigmoid_riscv.h index 3c264b3188e..5ecd1c3ee08 100644 --- a/src/layer/riscv/hardsigmoid_riscv.h +++ b/src/layer/riscv/hardsigmoid_riscv.h @@ -27,7 +27,7 @@ class HardSigmoid_riscv : public HardSigmoid virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; #endif }; diff --git a/src/layer/riscv/hardswish_riscv.cpp b/src/layer/riscv/hardswish_riscv.cpp index 974f3d8aad6..6d434614bea 100644 --- a/src/layer/riscv/hardswish_riscv.cpp +++ b/src/layer/riscv/hardswish_riscv.cpp @@ -27,7 +27,7 @@ HardSwish_riscv::HardSwish_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -35,7 +35,7 @@ HardSwish_riscv::HardSwish_riscv() int HardSwish_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -91,7 +91,7 @@ int HardSwish_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) co return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int HardSwish_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; diff --git a/src/layer/riscv/hardswish_riscv.h b/src/layer/riscv/hardswish_riscv.h index cfec7916f59..ca9774ef5b5 100644 --- a/src/layer/riscv/hardswish_riscv.h +++ b/src/layer/riscv/hardswish_riscv.h @@ -30,7 +30,7 @@ class HardSwish_riscv : public HardSwish virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; #endif }; diff --git a/src/layer/riscv/innerproduct_riscv.cpp b/src/layer/riscv/innerproduct_riscv.cpp index 84075034bce..0f90de5f7a1 100644 --- a/src/layer/riscv/innerproduct_riscv.cpp +++ b/src/layer/riscv/innerproduct_riscv.cpp @@ -29,7 +29,7 @@ InnerProduct_riscv::InnerProduct_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -57,7 +57,7 @@ int InnerProduct_riscv::create_pipeline(const Option& opt) } #endif -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage) { return create_pipeline_fp16s(opt); @@ -155,7 +155,7 @@ int InnerProduct_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Opt int elembits = bottom_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -524,7 +524,7 @@ int InnerProduct_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Opt return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int InnerProduct_riscv::create_pipeline_fp16s(const Option& opt) { const int packn = csrr_vlenb() / 2; @@ -1090,6 +1090,6 @@ int InnerProduct_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, co return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/innerproduct_riscv.h b/src/layer/riscv/innerproduct_riscv.h index d3056d5801d..0a75d79bbb5 100644 --- a/src/layer/riscv/innerproduct_riscv.h +++ b/src/layer/riscv/innerproduct_riscv.h @@ -30,7 +30,7 @@ class InnerProduct_riscv : public InnerProduct virtual int forward(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int create_pipeline_fp16s(const Option& opt); int forward_fp16s(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; int forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; diff --git a/src/layer/riscv/instancenorm_riscv.cpp b/src/layer/riscv/instancenorm_riscv.cpp index a354cecbede..e0b53025fc2 100644 --- a/src/layer/riscv/instancenorm_riscv.cpp +++ b/src/layer/riscv/instancenorm_riscv.cpp @@ -25,7 +25,7 @@ InstanceNorm_riscv::InstanceNorm_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -34,7 +34,7 @@ InstanceNorm_riscv::InstanceNorm_riscv() int InstanceNorm_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { // x = (x - mean) / (sqrt(var + eps)) * gamma + beta -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) { @@ -215,7 +215,7 @@ int InstanceNorm_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int InstanceNorm_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { // x = (x - mean) / (sqrt(var + eps)) * gamma + beta @@ -507,6 +507,6 @@ int InstanceNorm_riscv::forward_inplace_fp16sa(Mat& bottom_top_blob, const Optio return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/instancenorm_riscv.h b/src/layer/riscv/instancenorm_riscv.h index b0d2e9004ac..08da035d8e0 100644 --- a/src/layer/riscv/instancenorm_riscv.h +++ b/src/layer/riscv/instancenorm_riscv.h @@ -26,7 +26,7 @@ class InstanceNorm_riscv : public InstanceNorm virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; int forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/interp_riscv.cpp b/src/layer/riscv/interp_riscv.cpp index de7de8a954c..fca4ba18ac3 100644 --- a/src/layer/riscv/interp_riscv.cpp +++ b/src/layer/riscv/interp_riscv.cpp @@ -27,7 +27,7 @@ namespace ncnn { #if __riscv_vector #include "interp_bicubic_packn.h" #include "interp_bilinear_packn.h" -#if __riscv_zfh +#if __riscv_zvfh #include "interp_bicubic_fp16s.h" #include "interp_bicubic_packn_fp16s.h" #include "interp_bilinear_fp16s.h" @@ -39,7 +39,7 @@ Interp_riscv::Interp_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -53,7 +53,7 @@ int Interp_riscv::forward(const std::vector& bottom_blobs, std::vector int elembits = bottom_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -489,7 +489,7 @@ int Interp_riscv::forward(const std::vector& bottom_blobs, std::vector return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int Interp_riscv::forward_fp16s(const std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const { const int packn = csrr_vlenb() / 2; @@ -1212,6 +1212,6 @@ int Interp_riscv::forward_fp16sa(const std::vector& bottom_blobs, std::vect return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/interp_riscv.h b/src/layer/riscv/interp_riscv.h index f479223519b..c361c0b6454 100644 --- a/src/layer/riscv/interp_riscv.h +++ b/src/layer/riscv/interp_riscv.h @@ -27,7 +27,7 @@ class Interp_riscv : public Interp virtual int forward(const std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_fp16s(const std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const; int forward_fp16sa(const std::vector& bottom_blobs, std::vector& top_blobs, const Option& opt) const; #endif diff --git a/src/layer/riscv/mish_riscv.cpp b/src/layer/riscv/mish_riscv.cpp index 4f02def73fa..7e3d4f95dbf 100644 --- a/src/layer/riscv/mish_riscv.cpp +++ b/src/layer/riscv/mish_riscv.cpp @@ -17,7 +17,7 @@ #if __riscv_vector #include #include "rvv_mathfun.h" -#if __riscv_zfh +#if __riscv_zvfh #include "rvv_mathfun_fp16s.h" #endif #endif // __riscv_vector @@ -28,7 +28,7 @@ Mish_riscv::Mish_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -36,7 +36,7 @@ Mish_riscv::Mish_riscv() int Mish_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -85,7 +85,7 @@ int Mish_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int Mish_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; @@ -147,6 +147,6 @@ int Mish_riscv::forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/mish_riscv.h b/src/layer/riscv/mish_riscv.h index 2e2be1a2b44..e631c9b9472 100644 --- a/src/layer/riscv/mish_riscv.h +++ b/src/layer/riscv/mish_riscv.h @@ -27,7 +27,7 @@ class Mish_riscv : public Mish virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; int forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/packing_riscv.cpp b/src/layer/riscv/packing_riscv.cpp index a36cc9aff64..080fb204144 100644 --- a/src/layer/riscv/packing_riscv.cpp +++ b/src/layer/riscv/packing_riscv.cpp @@ -25,7 +25,7 @@ namespace ncnn { Packing_riscv::Packing_riscv() { support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif support_bf16_storage = true; @@ -38,7 +38,7 @@ int Packing_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Option& if (elembits == 8) return forward_int8(bottom_blob, top_blob, opt); -#if __riscv_zfh +#if __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) return forward_bf16s_fp16s(bottom_blob, top_blob, opt); #endif diff --git a/src/layer/riscv/padding_riscv.cpp b/src/layer/riscv/padding_riscv.cpp index d07876430bc..11e01d5d6bf 100644 --- a/src/layer/riscv/padding_riscv.cpp +++ b/src/layer/riscv/padding_riscv.cpp @@ -30,7 +30,7 @@ Padding_riscv::Padding_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -42,7 +42,7 @@ Padding_riscv::Padding_riscv() int Padding_riscv::create_pipeline(const Option& opt) { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage) { ncnn::cast_float32_to_float16(per_channel_pad_data, per_channel_pad_data_fp16, opt); @@ -79,7 +79,7 @@ int Padding_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Option& if (elembits == 8) return forward_int8(bottom_blob, top_blob, opt); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) return forward_bf16s_fp16s(bottom_blob, top_blob, opt); #endif @@ -291,7 +291,7 @@ int Padding_riscv::forward_bf16s_fp16s(const Mat& bottom_blob, Mat& top_blob, co // clang-format off // *INDENT-OFF* vuint16m1_t pad_value; -#if __riscv_zfh +#if __riscv_zvfh if (opt.use_fp16_storage) { pad_value = __riscv_vreinterpret_v_f16m1_u16m1(__riscv_vfmv_v_f_f16m1((__fp16)value, vl)); @@ -332,7 +332,7 @@ int Padding_riscv::forward_bf16s_fp16s(const Mat& bottom_blob, Mat& top_blob, co // clang-format off // *INDENT-OFF* vuint16m1_t pad_value; -#if __riscv_zfh +#if __riscv_zvfh if (opt.use_fp16_storage) { pad_value = __riscv_vreinterpret_v_f16m1_u16m1(__riscv_vfmv_v_f_f16m1((__fp16)value, vl)); @@ -380,7 +380,7 @@ int Padding_riscv::forward_bf16s_fp16s(const Mat& bottom_blob, Mat& top_blob, co // clang-format off // *INDENT-OFF* vuint16m1_t pad_value; -#if __riscv_zfh +#if __riscv_zvfh if (opt.use_fp16_storage) { pad_value = per_channel_pad_data_size ? __riscv_vreinterpret_v_f16m1_u16m1(__riscv_vle16_v_f16m1((const __fp16*)per_channel_pad_data_fp16 + q * packn, vl)) : __riscv_vreinterpret_v_f16m1_u16m1(__riscv_vfmv_v_f_f16m1((__fp16)value, vl)); @@ -438,7 +438,7 @@ int Padding_riscv::forward_bf16s_fp16s(const Mat& bottom_blob, Mat& top_blob, co // clang-format off // *INDENT-OFF* vuint16m1_t pad_value; -#if __riscv_zfh +#if __riscv_zvfh if (opt.use_fp16_storage) { pad_value = per_channel_pad_data_size ? __riscv_vreinterpret_v_f16m1_u16m1(__riscv_vle16_v_f16m1((const __fp16*)per_channel_pad_data_fp16 + q * packn, vl)) : __riscv_vreinterpret_v_f16m1_u16m1(__riscv_vfmv_v_f_f16m1((__fp16)value, vl)); diff --git a/src/layer/riscv/pooling_riscv.cpp b/src/layer/riscv/pooling_riscv.cpp index 734769d6680..0f0c8e3d2da 100644 --- a/src/layer/riscv/pooling_riscv.cpp +++ b/src/layer/riscv/pooling_riscv.cpp @@ -28,7 +28,7 @@ Pooling_riscv::Pooling_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -57,7 +57,7 @@ int Pooling_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Option& int elembits = bottom_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -308,7 +308,7 @@ int Pooling_riscv::forward(const Mat& bottom_blob, Mat& top_blob, const Option& return Pooling::forward(bottom_blob, top_blob, opt); } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int Pooling_riscv::forward_fp16s(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const { // max value in NxN window @@ -957,6 +957,6 @@ int Pooling_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const O return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/pooling_riscv.h b/src/layer/riscv/pooling_riscv.h index e285b58eb19..9521c7eef91 100644 --- a/src/layer/riscv/pooling_riscv.h +++ b/src/layer/riscv/pooling_riscv.h @@ -28,7 +28,7 @@ class Pooling_riscv : public Pooling virtual int forward(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_fp16s(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; int forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/prelu_riscv.cpp b/src/layer/riscv/prelu_riscv.cpp index 54a5aa8387b..b13db6c2f46 100644 --- a/src/layer/riscv/prelu_riscv.cpp +++ b/src/layer/riscv/prelu_riscv.cpp @@ -24,7 +24,7 @@ PReLU_riscv::PReLU_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif @@ -34,7 +34,7 @@ int PReLU_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { int elembits = bottom_top_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) { if (opt.use_fp16_arithmetic) @@ -279,7 +279,7 @@ int PReLU_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh //fp16s(a) //hint: slope always store as fp32 diff --git a/src/layer/riscv/prelu_riscv.h b/src/layer/riscv/prelu_riscv.h index 70acbc5d250..8d3ad43c6c4 100644 --- a/src/layer/riscv/prelu_riscv.h +++ b/src/layer/riscv/prelu_riscv.h @@ -26,7 +26,7 @@ class PReLU_riscv : public PReLU virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh protected: int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; int forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) const; diff --git a/src/layer/riscv/relu_riscv.cpp b/src/layer/riscv/relu_riscv.cpp index d868b4d4320..fdb632c2834 100644 --- a/src/layer/riscv/relu_riscv.cpp +++ b/src/layer/riscv/relu_riscv.cpp @@ -24,7 +24,7 @@ ReLU_riscv::ReLU_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif @@ -32,7 +32,7 @@ ReLU_riscv::ReLU_riscv() int ReLU_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -105,7 +105,7 @@ int ReLU_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int ReLU_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; diff --git a/src/layer/riscv/relu_riscv.h b/src/layer/riscv/relu_riscv.h index 58181b533b8..90816552841 100644 --- a/src/layer/riscv/relu_riscv.h +++ b/src/layer/riscv/relu_riscv.h @@ -27,7 +27,7 @@ class ReLU_riscv : public ReLU virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; #endif }; diff --git a/src/layer/riscv/riscv_activation.h b/src/layer/riscv/riscv_activation.h index b43f5b6a1d9..d4c986f0511 100644 --- a/src/layer/riscv/riscv_activation.h +++ b/src/layer/riscv/riscv_activation.h @@ -20,7 +20,7 @@ #if __riscv_vector #include #include "rvv_mathfun.h" -#if __riscv_zfh +#if __riscv_zvfh #include "rvv_mathfun_fp16s.h" #endif @@ -67,7 +67,7 @@ return _v; \ } -#if __riscv_zfh +#if __riscv_zvfh _RVV_FLOAT_ACTIVATION_PS(16, 1, 16) _RVV_FLOAT_ACTIVATION_PS(16, 2, 8) _RVV_FLOAT_ACTIVATION_PS(16, 4, 4) diff --git a/src/layer/riscv/riscv_usability.h b/src/layer/riscv/riscv_usability.h index 9875f64501b..fd1806d8185 100644 --- a/src/layer/riscv/riscv_usability.h +++ b/src/layer/riscv/riscv_usability.h @@ -86,7 +86,7 @@ static inline vfloat32m8_t __riscv_vle32_v_f32m8_f32m1(const float* ptr) return __riscv_vloxei32_v_f32m8(ptr, bindex, vl); } -#if __riscv_zfh +#if __riscv_zvfh static inline vfloat16m8_t __riscv_vle16_v_f16m8_f16m1(const __fp16* ptr) { const int packn = csrr_vlenb() / 2; @@ -122,7 +122,7 @@ static inline vfloat16m8_t __riscv_vle16_v_f16m8_f16m1(const __fp16* ptr) vuint16m8_t bindex = __riscv_vle16_v_u16m8(index, vl); return __riscv_vloxei16_v_f16m8(ptr, bindex, vl); } -#endif // __riscv_zfh +#endif // __riscv_zvfh #endif // __riscv_vector #if __riscv_vector && __rvv_tuple @@ -308,7 +308,7 @@ static inline void __riscv_vlseg2e16_v_u16m4(vuint16m4_t* v0, vuint16m4_t* v1, c *v1 = __riscv_vget_u16m4x2_u16m4(_tmp, 1); } -#if __riscv_zfh +#if __riscv_zvfh // f16m1, vsseg.v, 8/4/2 static inline void __riscv_vsseg8e16_v_f16m1(float16_t* base, vfloat16m1_t v0, vfloat16m1_t v1, vfloat16m1_t v2, vfloat16m1_t v3, vfloat16m1_t v4, vfloat16m1_t v5, vfloat16m1_t v6, vfloat16m1_t v7, size_t vl) @@ -396,7 +396,7 @@ static inline void __riscv_vlseg2e16_v_f16m4(vfloat16m4_t* v0, vfloat16m4_t* v1, *v1 = __riscv_vget_f16m4x2_f16m4(_tmp, 1); } -#endif // __riscv_zfh +#endif // __riscv_zvfh #endif // __riscv_vector #ifdef __riscv_vector diff --git a/src/layer/riscv/sigmoid_riscv.cpp b/src/layer/riscv/sigmoid_riscv.cpp index d3b0c5d31b6..04bcab81be8 100644 --- a/src/layer/riscv/sigmoid_riscv.cpp +++ b/src/layer/riscv/sigmoid_riscv.cpp @@ -17,7 +17,7 @@ #if __riscv_vector #include #include "rvv_mathfun.h" -#if __riscv_zfh +#if __riscv_zvfh #include "rvv_mathfun_fp16s.h" #endif #endif // __riscv_vector @@ -28,7 +28,7 @@ Sigmoid_riscv::Sigmoid_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -36,7 +36,7 @@ Sigmoid_riscv::Sigmoid_riscv() int Sigmoid_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -86,7 +86,7 @@ int Sigmoid_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) cons return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int Sigmoid_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; @@ -148,6 +148,6 @@ int Sigmoid_riscv::forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& op return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/sigmoid_riscv.h b/src/layer/riscv/sigmoid_riscv.h index 8f014e6c4f2..d2fde574df6 100644 --- a/src/layer/riscv/sigmoid_riscv.h +++ b/src/layer/riscv/sigmoid_riscv.h @@ -27,7 +27,7 @@ class Sigmoid_riscv : public Sigmoid virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; int forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/swish_riscv.cpp b/src/layer/riscv/swish_riscv.cpp index 09243541dc7..b6a672ddd29 100644 --- a/src/layer/riscv/swish_riscv.cpp +++ b/src/layer/riscv/swish_riscv.cpp @@ -17,7 +17,7 @@ #if __riscv_vector #include #include "rvv_mathfun.h" -#if __riscv_zfh +#if __riscv_zvfh #include "rvv_mathfun_fp16s.h" #endif #endif // __riscv_vector @@ -28,7 +28,7 @@ Swish_riscv::Swish_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -36,7 +36,7 @@ Swish_riscv::Swish_riscv() int Swish_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -85,7 +85,7 @@ int Swish_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int Swish_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; @@ -147,6 +147,6 @@ int Swish_riscv::forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/swish_riscv.h b/src/layer/riscv/swish_riscv.h index 05d5cbe1cfd..91af31b771f 100644 --- a/src/layer/riscv/swish_riscv.h +++ b/src/layer/riscv/swish_riscv.h @@ -27,7 +27,7 @@ class Swish_riscv : public Swish virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; int forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/tanh_riscv.cpp b/src/layer/riscv/tanh_riscv.cpp index f9f836dd235..a6f4383e162 100644 --- a/src/layer/riscv/tanh_riscv.cpp +++ b/src/layer/riscv/tanh_riscv.cpp @@ -17,7 +17,7 @@ #if __riscv_vector #include #include "rvv_mathfun.h" -#if __riscv_zfh +#if __riscv_zvfh #include "rvv_mathfun_fp16s.h" #endif #endif // __riscv_vector @@ -28,7 +28,7 @@ TanH_riscv::TanH_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -36,7 +36,7 @@ TanH_riscv::TanH_riscv() int TanH_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const { -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int elembits = bottom_top_blob.elembits(); if (opt.use_fp16_storage && elembits == 16) @@ -85,7 +85,7 @@ int TanH_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) const return 0; } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int TanH_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; @@ -147,6 +147,6 @@ int TanH_riscv::forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/tanh_riscv.h b/src/layer/riscv/tanh_riscv.h index 6fb22ce91f3..dff531413c8 100644 --- a/src/layer/riscv/tanh_riscv.h +++ b/src/layer/riscv/tanh_riscv.h @@ -27,7 +27,7 @@ class TanH_riscv : public TanH virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; int forward_inplace_fp16sa(Mat& bottom_top_blob, const Option& opt) const; #endif diff --git a/src/layer/riscv/unaryop_riscv.cpp b/src/layer/riscv/unaryop_riscv.cpp index 267be57d4dd..e2e8b391b19 100644 --- a/src/layer/riscv/unaryop_riscv.cpp +++ b/src/layer/riscv/unaryop_riscv.cpp @@ -17,7 +17,7 @@ #if __riscv_vector #include #include "rvv_mathfun.h" -#if __riscv_zfh +#if __riscv_zvfh #include "rvv_mathfun_fp16s.h" #endif #endif // __riscv_vector @@ -28,7 +28,7 @@ UnaryOp_riscv::UnaryOp_riscv() { #if __riscv_vector support_packing = true; -#if __riscv_zfh +#if __riscv_zvfh support_fp16_storage = true; #endif #endif // __riscv_vector @@ -300,7 +300,7 @@ int UnaryOp_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) cons { int elembits = bottom_top_blob.elembits(); -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh if (opt.use_fp16_storage && elembits == 16) return forward_inplace_fp16s(bottom_top_blob, opt); #endif @@ -374,7 +374,7 @@ int UnaryOp_riscv::forward_inplace(Mat& bottom_top_blob, const Option& opt) cons #endif // __riscv_vector } -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh template static int unary_op_inplace_fp16s(Mat& a, const Option& opt) { @@ -701,6 +701,6 @@ int UnaryOp_riscv::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt return 0; } -#endif // __riscv_vector && __riscv_zfh +#endif // __riscv_vector && __riscv_zvfh } // namespace ncnn diff --git a/src/layer/riscv/unaryop_riscv.h b/src/layer/riscv/unaryop_riscv.h index 215ad3426a4..88b253ea68b 100644 --- a/src/layer/riscv/unaryop_riscv.h +++ b/src/layer/riscv/unaryop_riscv.h @@ -27,7 +27,7 @@ class UnaryOp_riscv : public UnaryOp virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const; protected: -#if __riscv_vector && __riscv_zfh +#if __riscv_vector && __riscv_zvfh int forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) const; #endif };