nihui
127b414614
reshape support batch to/from dim ( #6784 )
2026-07-02 19:29:34 +08:00
0f5c6ef2ce
massive mips and loongarch optimization ( #6662 )
...
Co-authored-by: nihui <171016+nihui@users.noreply.github.com >
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-19 08:19:35 +08:00
6b4f6f95e5
[feat](benchmark): replace load_param with load_param_mem ( #6286 )
...
* [feat](benchmark): replace load_param with load_param_mem
* [docs](benchmark): update benchmark docs
* refactor(benchmark): remove model registry and optimize param loading
* fix(benchmark): correct README param description
* refactor(benchmark): rename header file
* update doc
---------
Co-authored-by: nihui <nihuini@tencent.com >
Co-authored-by: nihui <shuizhuyuanluo@126.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-08 14:23:00 +08:00
nihui
dce28a009a
remove shader comments and extra spaces ( #6493 )
2026-01-07 08:52:16 +08:00
柚木 鉉
1679a50c2d
add support for riscv32+rvv1.0 (rv32 and rv64ilp32) with c907 support ( #6280 )
...
* add support for riscv32+rvv1.0 (rv32 and rv64ilp32) with c907 support
* add new action linux rv32 and some fix
1. add new action linux rv32
2. add new toolchains c907-v310 for lp64d
3. fix action paths check
2025-08-25 14:12:30 +08:00
Willaaaaaaa
04341120d4
feat: add cmake print ver support ( #6165 )
2025-07-11 10:44:29 +08:00
Naiyang Lin
501d235370
optimize scanning of vulkan shader files in ncnn_add_layer() ( #6019 )
2025-04-25 12:00:14 +08:00
nihui
f5269b65f2
update modern glslang ( #5910 )
...
* update modern glslang
* fix build with cpp14
2025-02-19 17:48:24 +08:00
nihui
5285895710
Revert "define empty assertion termination function for fixing linking with old android ndk ( #5847 )" ( #5854 )
...
This reverts commit e431218618 .
2024-12-26 10:56:43 +08:00
nihui
e431218618
define empty assertion termination function for fixing linking with old android ndk ( #5847 )
2024-12-25 11:06:23 +08:00
nihui
9f67ff1e9e
use optional compile flags only when runtime cpu is on ( #5827 )
2024-12-18 12:59:30 +08:00
nihui
19caca3140
port rvv intrinsic 1.0+ ( #5642 )
...
* zfh zvfh xtheadvector infra
* dispatch for rvv and xtheadvector
* dispatch for non-vector zfh
* port xtheadvector recp rsqrt trunc
* general rvv gemm
* c906 and c910 ci
* old tuple code clean
* update riscv64 ci
* update build doc
* drop old th1520 toolchain
2024-12-04 16:16:17 +08:00
nihui
8d2ac57824
fix missing asimdfhm target macro in ndk-r21 ( #5804 )
2024-11-28 13:50:05 +08:00
nihui
9cefe9a624
avx vnni int8, avx vnni int16, avx ne convert infrastructure ( #5749 )
2024-11-14 15:00:07 +08:00
nihui
1c7af00499
gemm int8 quantization ( #5706 )
...
* quantize gemm
* write gemm quantize scales
* update doc
* less openmp args
* x86 riscv fallback
* skip gemm vulkan int8
* fix noint8 test, fix arm bf16 test
* enable vfpv4 on neon build only
* fix gemm vulkan without C
* fp16 pack8 output
* enable elempack=8 only for asimdhp+
* tiled gemm int8 test
* opt arm64 tiles, fix asimdhp dispatch
2024-10-12 19:02:55 +08:00
nihui
c4a007406d
windows clang ci ( #5469 )
...
* windows clang ci
* clang msvc use x86intrin.h for xop
* test arm64 compiler features
2024-05-23 18:45:26 +08:00
nihui
08b7d99a75
rnn/lstm/gru dynamic quantization ( #5435 )
2024-05-08 19:25:51 +08:00
nihui
fafb897ff7
update ios toolchain, add visionos ci, update watchos, ncnn target ilp32 ( #5399 )
2024-04-03 11:05:32 +08:00
nihui
556b79ce4d
create layer decoupled ( #5258 )
...
* create layer decoupled
* no more virtual public
* allow build test with shared library
* decouple cpu vulkan
* drop old scripts
2024-01-05 14:08:15 +08:00
nihui
058aa0ad37
enable arm neon intrinsics for msvc build ( #5151 )
2023-11-21 15:48:04 +08:00
nihui
b4f26237cb
in-house vulkan loader ( #5130 )
...
* vulkan-driver-loader.md
* static vulkan on apple
2023-11-09 16:58:23 +08:00
nihui
9ecf6a61be
x86 optimization for convolution int8 gemm unified elempack ( #4881 )
2023-08-29 17:17:38 +08:00
nihui
6c21b08727
check loongarch lasx and enable ( #4820 )
2023-06-27 12:16:21 +08:00
nihui
7fb16be32a
fix aarch64 build without fp16 conversion intrinsics ( #4713 )
...
* fix aarch64 build without fp16 conversion intrinsics
* vfpv4 always implies neon
2023-05-09 15:35:42 +08:00
nihui
d2d012dce5
x86 bfloat16 cast functions ( #4491 )
...
* simplify cast fp16 avx512 dispatch
* define sse4.1 macro on msvc avx+
2023-01-30 18:24:06 +08:00
nihui
15761fc1a6
arm vfpv4 asimdhp asimdfhm optimization for gemm ( #4432 )
2022-12-28 21:29:21 +08:00
nihui
7b3261dace
gemm arm optimization ( #4426 )
...
* cmake determine target 32bit and 64bit
* include opt source with non-runtime cpu
* check compiler support gnu style inline assembly
2022-12-19 13:12:07 +08:00
nihui
c934c6e94a
fix openmp affinity abort when cpu goes offline ( #4370 )
2022-11-26 16:53:49 +08:00
nihui
f527fe88ee
update glslang ( #4361 )
2022-11-21 18:30:44 +08:00
junchao-loongson
279222c2c9
add vector optimization for loongarch64 ( #4242 )
2022-11-11 18:42:39 +08:00
e7eadca6c1
RVV: use new interface for segment load/store & change word_type to size_t&add clang ci (part #4100 ) ( #4118 )
...
* RVV: use size_t for vl
* RVV: replace vsseg.v tuple type by using regex
-----
search:
vsseg([1-9])e(8|16|32)_v_(f|i|u)\2m(1|2|4|8)x\1\(([ -~]+), vcreate_\3\2m\4x\1\(([ -~]+)\), vl\);
substitute by:
vsseg$1e$2_v_$3$2m$4($5, $6, vl);
* RVV: replace vssseg.v tuple types by using regex
---
search:
vssseg([1-9])e(8|16|32)_v_f\2m1x\1\(([ -~]+), vcreate_f\2m1x\1\(([ -~]+)\), vl\);
substitute by:
vssseg$1e$2_v_f$2m1($3, $4, vl);
* RVV: replace vlseg.v tuple types in load/store
* RVV: replace vloxseg2ei32.v tuple types
* RVV: add a wrapper for old compilers
* RVV: add segment load/store wrapper in pakcing
* RVV: fix cmake test
* RVV: make clang happy by dropping VLAs in sgemm
* RVV: add clang cmake toolchain configure
* RVV: add clang ci, riscv64-unknown-linux-gnu
Co-authored-by: thelastlin <thelastlin@users.noreply.github.com >
Co-authored-by: nihui <shuizhuyuanluo@126.com >
2022-10-01 21:24:37 +08:00
nihui
b4ba207c18
more strict compiler rvv checks, drop rvv-071 support ( #4094 )
2022-07-28 17:47:27 +08:00
nihui
76849cede4
armv8.4 i8mm optimization for convolution gemm int8 ( #4034 )
2022-07-17 21:29:13 +08:00
nihui
dd86cebab8
armv8.6 ci and coverage ( #4025 )
...
* asimdfhm in fc
* move neon bf16 conversion function to arm_usability header
* fix cmake option
* fix build with newer gcc
* arm84 coverage
* arm asimdfhm optimization for innerproduct gemm fp16s
2022-07-14 14:27:47 +08:00
nihui
b85bfb6085
armv8.2 asimdfhm and armv8.4 bf16 i8mm and armv8.6 sve sve2 compiler flags and runtime detection functions ( #3964 )
2022-06-28 18:15:55 +08:00
nihui
440bfdd2cc
x86 f16c optimization for innerproduct ( #3944 )
2022-06-23 19:00:33 +08:00
nihui
1fd7138d2f
armv7 vfpv4 infrastructure ( #3929 )
...
* armv7 vfpv4 infrastructure
* optional fp16 format ieee
* arm neon assembly optimization for cast fp16/bf16
2022-06-20 16:25:26 +08:00
nihui
1377acf945
avx512 bf16 fp16 infrastructure ( #3926 )
2022-06-19 14:33:59 +08:00
nihui
7886e90c65
split arm82 source for smaller binary and memory footprint ( #3877 )
...
* split arm82 source, wip
* check compiler arm82 only for arm 64bit target
* drop arm82 registery
* strict check compiler support arm82
2022-06-04 22:27:24 +08:00
nihui
241524ffce
discard weight memory for x86 arm vulkan ( #3865 )
...
* discard weight memory for x86 and vulkan
* drop arm innerproduct weight
* drop arm convolution weight
* drop arm convolutiondepthwise weight
* drop x86 vulkan deconvolution deconvolutiondepthwise weight
* drop arm deconvolution deconvolutiondepthwise weight
* arm neon assembly optimization for innerproduct pack4
2022-06-01 10:16:35 +08:00
Xavier Hsinyuan
29b6a32ac0
RVV: follow intrinsic doc, replace vfredsum_* with vfredusum_* ( #3790 )
...
* RVV: follow intrinsic doc, vfredusum -> vfredsum
* C906: change toolchains for vfredusum
* RVV: test compiler for vfredusum_vs_*
2022-05-15 21:51:49 +08:00
nihui
9826f3dbf8
shader include vulkan activation, workaround for moltenvk tanh half4 issue ( #3711 )
2022-04-16 20:34:56 +08:00
nihui
dadc640c66
x86 avx512 optimization ( #3581 )
...
* unified relu avx512
* unifed clip avx512
* unaryop avx512
* sigmoid avx512
* binaryop avx512
* padding convolution avx512
* convolutiondepthwise avx512
* innerproduct avx512
* reshape avx512
* slice avx512
* hardsigmoid hardswish avx512
* swish avx512
* pooling avx512
* crop avx512
* convolution sgemm pack16
* convolution 3x3 winograd pack16
* interp avx512
* convolution sgemm pack1to16
* convolution sgemm pack16to8
* convolution sgemm pack8to16
* convolution sgemm pack16to4
* fix vulkan permute pack8
* fix vulkan convolution gemm pack8to1
2022-04-09 17:23:27 +08:00
nihui
a9c59bb93c
add -mavx512bw flag for avx512 build ( #3671 )
2022-04-06 12:16:43 +08:00
nihui
4eb279ce26
add loongson mmi compiler header, less msa prefetch distance ( #3678 )
2022-04-05 17:21:37 +08:00
nihui
1fcad0e765
loongson mmi optional layer
2022-04-03 09:57:44 +08:00
nihui
457e066eb5
x86 f16c infrastructure ( #3577 )
2022-02-24 18:29:18 +08:00
nihui
4654030541
decouple x86 fma avx2 ( #3560 )
2022-02-12 18:28:59 +08:00
nihuini
51ecc33d9d
check avx512vl extension for discarding old-slow avx512 chips, enable avx512 option by default
2022-02-09 14:28:33 +08:00
nihui
672daa7e04
xop infrastructure and optimization ( #3541 )
2022-02-03 16:31:37 +08:00