Ncnn

Latest version: v1.0.20241226

Safety actively analyzes 702232 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

24.04

发布visionos/visionos-simulator vulkan预编译包
pypi发布python 3.13预编译包
更新pytorch/onnx模型转换文档(whyb)
添加riscv-gnu-toolchain编译文档(Tabbleman)
添加harmonyos vulkan编译文档(cugxchen)
修正vulkan-notes文档的错误(roachsinai)
更新qcom855plus跑分数据
添加RaspberryPi 5 GPU超频跑分数据(CharlieYu4994)
添加EPYC7742和V100跑分数据(sakria9)
添加Snapdragon 888跑分数据(chainsx)
添加RaspberryPi 5 CPU超频跑分数据(chainsx)
添加OrangePi 5Plus跑分数据(inspireMeNow)
添加Snapdragon 765G跑分数据(inspireMeNow)
添加CVITEK SG2000跑分数据(inspireMeNow)
添加OrangePi CM4跑分数据(py1066)
添加Axera AX630C跑分数据(UOPiceman)
添加Kunpeng 920 7260跑分数据(violet73)

New Contributors
* quink-black made their first contribution in https://github.com/Tencent/ncnn/pull/5436
* Tabbleman made their first contribution in https://github.com/Tencent/ncnn/pull/5444
* roachsinai made their first contribution in https://github.com/Tencent/ncnn/pull/5472
* Asd-g made their first contribution in https://github.com/Tencent/ncnn/pull/5437
* lazyparser made their first contribution in https://github.com/Tencent/ncnn/pull/5499
* CharlieYu4994 made their first contribution in https://github.com/Tencent/ncnn/pull/5518
* Xyzhao1999 made their first contribution in https://github.com/Tencent/ncnn/pull/5521
* sakria9 made their first contribution in https://github.com/Tencent/ncnn/pull/5528
* inspireMeNow made their first contribution in https://github.com/Tencent/ncnn/pull/5550
* py1066 made their first contribution in https://github.com/Tencent/ncnn/pull/5551
* UOPiceman made their first contribution in https://github.com/Tencent/ncnn/pull/5559
* luxincn made their first contribution in https://github.com/Tencent/ncnn/pull/5567
* zhangyang2057 made their first contribution in https://github.com/Tencent/ncnn/pull/5584
* violet73 made their first contribution in https://github.com/Tencent/ncnn/pull/5606

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20240410...20240820

20240410
编译版本,默认配置,android-ndk-r26c,xcode 15.2,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-3.1.28
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-apple.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst + watchos + watchos-simulator + tvos + tvos-simulator + visionos + visionos-simulator | arm64 + arm64e + x86_64 |
|ncnn-apple-vulkan.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst + watchos + watchos-simulator + tvos + tvos-simulator + visionos + visionos-simulator,支持 GPU | arm64 + arm64e + x86_64 |
|ncnn-ios.zip | ios 静态库 | arm64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU | arm64 |
|ncnn-ios-simulator.zip | ios simulator 静态库 | x86_64 + arm64 |
|ncnn-ios-simulator-vulkan.zip | ios simulator 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-mac-catalyst.zip | mac catalyst 静态库 | x86_64 + arm64 |
|ncnn-mac-catalyst-vulkan.zip | mac catalyst 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-watchos.zip | watchos 静态库 | armv7k + arm64_32 |
|ncnn-watchos-simulator.zip | watchos simulator 静态库 | x86_64 + arm64 |
|ncnn-tvos.zip | tvos 静态库 | x86_64 + arm64 |
|ncnn-tvos-vulkan.zip | tvos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-tvos-simulator.zip | tvos simulator 静态库 | x86_64 + arm64 |
|ncnn-tvos-simulator-vulkan.zip | tvos simulator 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-visionos.zip | visionos 静态库 | arm64 |
|ncnn-visionos-simulator.zip | visionos simulator 静态库 | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

解耦合layer cpu和vulkan,不再使用virtual public继承
支持编译动态库时编译单元测试
单层特性掩码支持禁用多线程
extractor set_num_threads和set_vulkan_compute现在是无操作
gpu shader增加uniform类型改善adreno上fp16兼容性
检测vulkan矩阵扩展8x8x16配置,fp16a条件下默认使用fp16累加
更新stb_image rvv/neon优化
x86 mish avx512优化(wnqn1597)
riscv gemm fp32 rvv优化(Xinyu302)
加载模型上传权重时不保留无用的临时数据
c-api新增draw rectangle/text/circle/line接口(Deepdive543443)
修复armv7平台加载fp16模型sigbus错误
修复reduction L2norm denormal产生inf的问题
修复arm平台pixel_resize rounding导致的数值误差
修复softmax arm fp16计算错误
修复risc-v rvv输出fp16没有自动转换的问题
修复destroy_gpu_instance在驱动加载不完整时crash的问题(shatyuka)
destroy_gpu_instance等待全部设备idle(whyb)
修复low-level api没有load_param直接create_pipeline可能的崩溃
修复ncnnoptimize在shape推断的崩溃
ncnnoptimize支持更多新算子,修复gemm权重丢失问题
被调试时候禁用signal指令集检测
windows-arm平台使用ruapu cpu指令集检测
arm vfpv4支持时启用自动转换fp16
在arm64架构中总是报告支持neon和vfpv4
simplevk寻找更多已知的vulkan驱动路径
修复旧cpp标准下risc-v rvv编译错误
修复某些老编译器在debug模式下编译错误
修复uwp平台编译
修复test_reduction运行时的警告
修复NCNN_PIXEL_DRAWING禁用时候编译错误(shatyuka)
支持MSVC使用LLVM openmp运行时的配合编译(shatyuka)
修复yolov8 python示例返回空发生错误(dsplvd)
pnnx解耦torchscript加载,清理cxxabi hack,修复whole-archive链接
pnnx加载dynamo onnx,默认不启用编译
pnnx改善函数化,支持更多slice+inplace复合操作
pnnx转换torch.masked_select/torch.slice_scatter
pnnx支持超过4G的模型
pnnx macos编译universal wheel
pnnx添加entrypoint脚本
pnnx支持动态slice下标
pnnx转换softmin logsoftmax dtype参数
pnnx处理index_put传入空indices和标量数值
pnnx转换一些cudnn conv2d变种
pnnx合并完整slices为tensor_split
pnnx合并静态embedding
pnnx不消除会导致shape变化的数学操作
pnnx改善torch-2.1 mha attn_mask探测
pnnx修复无bias tensor的nn.Conv2d转换
pnnx转换torch.stack负数dim
pnnx添加torch.arange单元测试
pnnx修复图匹配失败时可能的越界访问问题
pnnx识别embedding输入的batch轴为0
pnnx python添加控制fp16参数(MollySophia)
pnnx添加torch-2.2 ci
github ci使用4并行编译
更新cmake ios工具链,添加visionos ci,watchos支持arm64_32架构
添加apple a17和m3 cpu名称
不再编译apple平台32bit支持,不再编译ios arm64e架构,提升最低部署版本到ios-13
统一android python macos ci
不再打包和发布apple bitcode和32bit预编译包,新增visionos预编译包,新增tvos-gpu预编译包,更新openmp到18.1.2
改善a53/a55双发射文档(luqiang-guo)
添加windows上protobuf>=22.0编译文档(Galasnow)
更新macos编译文档(lll143653)
清理无用的代码警告(hokamilkv)
修正FAQ的拼写错误(eltociear)
修正拼写错误(hugo-syn)
修正拼写错误(afredooo)
修正convolution_x86注释错误(strongtz)
添加markdown文档代码辅助标志(hugo-syn)
添加OneCloud跑分数据(mizu-bai)
添加AWS c5.4xlarge跑分数据(mizu-bai)
添加Xeon Phi 3120A跑分数据(mizu-bai)
添加orangepi zero2跑分数据(wonderfullook)
添加Dimensity 9300 MT6989跑分数据(MollySophia)
添加PhytiumPi跑分数据(HalfSweet)
添加remipi跑分数据(dreamcmi)
添加radxa zero 3w跑分数据(Qengineering)

New Contributors
* wonderfullook made their first contribution in https://github.com/Tencent/ncnn/pull/5277
* hugo-syn made their first contribution in https://github.com/Tencent/ncnn/pull/5301
* FartSimps0n made their first contribution in https://github.com/Tencent/ncnn/pull/5304
* HalfSweet made their first contribution in https://github.com/Tencent/ncnn/pull/5312
* strongtz made their first contribution in https://github.com/Tencent/ncnn/pull/5310
* afredooo made their first contribution in https://github.com/Tencent/ncnn/pull/5339
* shatyuka made their first contribution in https://github.com/Tencent/ncnn/pull/5346
* dsplvd made their first contribution in https://github.com/Tencent/ncnn/pull/5345
* Galasnow made their first contribution in https://github.com/Tencent/ncnn/pull/5359
* hokamilkv made their first contribution in https://github.com/Tencent/ncnn/pull/5365

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20240102...20240410

20240102
编译版本,默认配置,android-ndk-r26b,xcode 13.4.1,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-3.1.28
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-apple.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-apple-vulkan.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e |
|ncnn-ios-simulator.zip | ios simulator 静态库,with and w/o bitcode | i386 + x86_64 + arm64 |
|ncnn-ios-simulator-vulkan.zip | ios simulator 静态库,支持 GPU,with and w/o bitcode | x86_64 + arm64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-mac-catalyst.zip | mac catalyst 静态库,with and w/o bitcode | x86_64 + arm64 |
|ncnn-mac-catalyst-vulkan.zip | mac catalyst 静态库,支持 GPU,with and w/o bitcode | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

内建vulkan驱动加载功能,不依赖vulkan-sdk编译gpu功能,可直接加载显卡驱动文件
msvc编译启用arm neon指令加速,启用arm64 asimdhp编译
实现python pnnx pypi包和python调用接口/文档(Hideousmon)
arm convolution int8 直接卷积重构支持任意elempack
优化 vulkan global pooling性能
优化resize bilinear性能
压缩字体数据减小二进制体积
deconvolution支持动态权重和对应pnnx转换
新增跑分数据rank card(Qengineering)
支持big-endian架构平台,powerpc32位
添加woa linux ci
添加msvc禁用exceptions/rtti的编译开关
在macos上使用信号探测avx512指令集支持情况
支持寻找32位显卡驱动文件(whyb)
启用benchmark编译打印4维shape(Deepdive543443)
修复riscv-int8 sigmoid激活的测试失败问题(MollySophia)
修复deconvolution x86 bias非对齐访问的问题
修复prelu x86 sse指令非对齐访问的问题(AIOa)
修复windows上openmp设置线程数为0的警告
修复在支持16bit/8bit的gpu上有关fp16sa shader使用fp16 shared变量的警告
修复nvidia vulkan驱动在程序退出的crash
修复vkimagemat from_android_hardware_buffer缺失的elemsize参数错误
修复simpleocv Mat模板ptr的偏移错误
添加更过的gpu相关python绑定接口(joeyballentine)
android vulkan包的api版本降低到14/21
pnnx支持转换recompute_scale_factor=True的nn.Upsample
新增nn.Identity测试
修复pnnx路径切分的问题
修复pnnx生成ncnn py空格对齐(cmdbug)
pnnx生成的py可以直接执行推理
python pnnx返回优化后的torch模型
删除无用的代码(ningjiang233)
改善cmake toolchain文件(zchrissirhcz)
新增watchos和tvos ci
修复linux sde ci的运行错误
更新POWER clang版本信息的文档(JeremyRand)
更新有关vulkan/libomp-dev依赖的文档(JeremyRand)
更新有关编译python模块CMAKE_TOOLCHAIN_FILE环境变量的文档(JeremyRand)
修复Rasberry拼写错误(JeremyRand)
FAQ新增有关pyncnn数据连续性的文档(lll143653)
更新readme下载页表格
添加Nintendo 3DS编译信息(Deepdive543443)
添加oncloud amlogic s805跑分数据(mizu-bai)
添加树莓派5 gpu跑分数据(FantasyGmm)
添加Jetson TX2跑分数据(FantasyGmm)
添加8gen2跑分数据(mahirumahiru)
添加2K2000跑分数据(RevySR)
更新Jetson Orin Nano/树莓派5跑分数据(Qengineering)
添加visionfive2跑分数据(wzyforgit)

New Contributors
* Deepdive543443 made their first contribution in https://github.com/Tencent/ncnn/pull/5116
* ningjiang233 made their first contribution in https://github.com/Tencent/ncnn/pull/5139
* FantasyGmm made their first contribution in https://github.com/Tencent/ncnn/pull/5152
* mahirumahiru made their first contribution in https://github.com/Tencent/ncnn/pull/5180
* Qengineering made their first contribution in https://github.com/Tencent/ncnn/pull/5216
* lll143653 made their first contribution in https://github.com/Tencent/ncnn/pull/5220
* joeyballentine made their first contribution in https://github.com/Tencent/ncnn/pull/5165

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20231027...20240102

20231027
编译版本,默认配置,android-ndk-r25c,xcode 13.4.1,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-3.1.28
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-apple.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-apple-vulkan.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e |
|ncnn-ios-simulator.zip | ios simulator 静态库,with and w/o bitcode | i386 + x86_64 + arm64 |
|ncnn-ios-simulator-vulkan.zip | ios simulator 静态库,支持 GPU,with and w/o bitcode | x86_64 + arm64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-mac-catalyst.zip | mac catalyst 静态库,with and w/o bitcode | x86_64 + arm64 |
|ncnn-mac-catalyst-vulkan.zip | mac catalyst 静态库,支持 GPU,with and w/o bitcode | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

x86 convolution int8 gemm重构支持任意elempack
x86 convolution int8 winograd重构支持任意elempack
arm convolution int8 gemm重构支持任意elempack
arm convolution int8 winograd重构支持任意elempack
gelu vulkan优化(FhqTreap)
convolution1d vulkan优化(FhqTreap)
gridsample x86优化(Yoh-Z)
riscv gemm fp32优化(Xinyu302)
新增erf/shrink和onnx转换(brightening-eyes)
新增diag和pnnx转换(wnqn1597)
新增celu和pnnx转换(wnqn1597)
新增simplemath,允许不依赖libm编译使用数学函数(HonestDeng)
pooling adaptive支持动态的输出尺寸和pnnx转换
elu selu支持4维输入输出
slice支持indices参数
memorydata支持tag参数和fp16存储
x86 selu shufflechannel优化(wnqn1597)
修复convolution vulkan在固定shape时的结果错误
修复权重tag潜在的溢出(lrw04)
按层加载模型减少内存占用(daquexian)
修复老版本gcc编译avx2 gather的错误(chainsx)
修复老版本gcc编译_mm256_set_m128的错误(whyb)
修复新版本protobuf编译问题
修复老版本glibc round编译问题
修复c906工具链编译错误
pyncnn启用vulkan支持(Hideousmon)
pyncnn添加load_param_mem接口(JeremyRand theflyingzamboni)
pnnx支持torch-2.1
pnnx消除moduleop的输出unpack
pnnx moduleop将权重shape作为参数写入param,内部权重顺序为使用顺序
pnnx改善reflect replicated pad匹配
pnnx合并conv3d-bn和deconv3d-bn
pnnx转换torch.narrow(zyt1024)
pnnx转换torch.lgamma(shudorcl)
pnnx转换torch.positive(nicochen1118)
pnnx转换torch.cumprod(Jiang-Weibo)
pnnx转换torch.mv/nn.ReplicationPad3d(ShuRaymond)
pnnx转换F.pairwise_distance(Marsyule)
pnnx转换torch.view_as_real/torch.view_as_complex(Baiyuetribe)
修复pnnx与新版本protobuf编译问题(HuPengsheet)
修复pnnx改变目录下划线的错误
onnx2ncnn支持celu转换(brightening-eyes)
自动为pull request添加label
修复ohos工具链编译错误
改进codeformat脚本使用函数(xiezheng-XD)
添加rk3566 rk3588s跑分数据(chainsx)
添加Allwinner T527跑分数据(YuzukiTsuru)
添加树莓派5b跑分数据(Pillar1989)
添加RTX A3000跑分数据(chainsx)
添加多款pc跑分数据(whyb)

New Contributors
* chainsx made their first contribution in https://github.com/Tencent/ncnn/pull/4959
* xiezheng-XD made their first contribution in https://github.com/Tencent/ncnn/pull/4993
* zyt1024 made their first contribution in https://github.com/Tencent/ncnn/pull/4918
* FhqTreap made their first contribution in https://github.com/Tencent/ncnn/pull/5001
* shudorcl made their first contribution in https://github.com/Tencent/ncnn/pull/4976
* nicochen1118 made their first contribution in https://github.com/Tencent/ncnn/pull/4999
* Jiang-Weibo made their first contribution in https://github.com/Tencent/ncnn/pull/5002
* brightening-eyes made their first contribution in https://github.com/Tencent/ncnn/pull/5012
* wnqn1597 made their first contribution in https://github.com/Tencent/ncnn/pull/4935
* ShuRaymond made their first contribution in https://github.com/Tencent/ncnn/pull/4974
* HuPengsheet made their first contribution in https://github.com/Tencent/ncnn/pull/5034
* Marsyule made their first contribution in https://github.com/Tencent/ncnn/pull/4942
* Pillar1989 made their first contribution in https://github.com/Tencent/ncnn/pull/5058
* Xinyu302 made their first contribution in https://github.com/Tencent/ncnn/pull/4903
* Hideousmon made their first contribution in https://github.com/Tencent/ncnn/pull/5020
* HonestDeng made their first contribution in https://github.com/Tencent/ncnn/pull/4905

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20230816...20231027

20230816
编译版本,默认配置,android-ndk-r25c,xcode 13.4.1,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-3.1.28
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-apple.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-apple-vulkan.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e |
|ncnn-ios-simulator.zip | ios simulator 静态库,with and w/o bitcode | i386 + x86_64 + arm64 |
|ncnn-ios-simulator-vulkan.zip | ios simulator 静态库,支持 GPU,with and w/o bitcode | x86_64 + arm64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-mac-catalyst.zip | mac catalyst 静态库,with and w/o bitcode | x86_64 + arm64 |
|ncnn-mac-catalyst-vulkan.zip | mac catalyst 静态库,支持 GPU,with and w/o bitcode | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

实现全部的binaryop explicit广播规则类型
x86直接卷积权重变换的avx2/avx512优化
x86 int8直接卷积支持任意elempack和sse2/xop/avx2/avx512/vnni优化
ppc64 power8/power9 vsx工具链支持,编译器检查和intrinsic翻译优化(JeremyRand)
更新glslang并启用VK_KHR_cooperative_matrix扩展和优化
修复pyncnn自定义layer模型权重加载
c_api新增Mat border/layer_to_index api(Mek101)
VkCompute::submit_and_wait现在能返回错误值(Upliner)
修复老版本clang编译时too many microtasks问题
修复clang-cl cpuid函数兼容性(charlescao460)
修复新版本protobuf c++17编译问题
修复老版本编辑器sleep递归调用错误(whyb)
编译时检查loongarch lasx扩展支持并自动启用
清理multiheadattention arm优化代码
binaryop支持一维outer axis广播规则,保持旧的兼容行为
benchncnn支持从命令行参数中指定自定义模型和输入(tpoisonooo)
macos平台静态编译链接需要的系统库(Baiyuetribe)
更改amd集显上的显存分配策略为仅设备优先,修复在bios设置大显存时分配失败问题
onnx2ncnn遇到不支持transpose类型输出错误信息(huoshuai-dot)
pnnx支持多算子到多算子的图变换
pnnx新增转换torch.round/trunc/fill/index_put/to/type_as/topk/fmod/cross/t/maximum/minimum
pnnx合并chinese-clip/sam-iamge-encoder attention结构
pnnx合并F.scaled_dot_product_attention
pnnx消除无用的expand/expand_as/type_as
pnnx修正fp16模型在优化时的权重变换错误
pnnx修正负数shape索引越界问题(Justin62628)
pnnx修复转换后py文件执行时权限错误(zhenjiaguo)
pnnx转换ncnn global pooling后自动添加reshape
pnnx转换非zero padding模式的卷积到ncnn
pnnx转换2维nn.Linear为ncnn gemm
pnnx转换torch.stack为ncnn concat+reshape
pnnx转换torch.t到ncnn permute(XiaBing992)
pnnx转换logsigmoid/log_softmax为ncnn sigmoid/softmax+log(lrw04)
pnnx修复slice_copy输出的类型信息
pnnx修复表达式中int64转换溢出问题
pnnx修复reshape表达式消除后的ghost结点
pnnx合并表达式时折叠shape为1的类似标量的权重
pnnx合并表达式支持max/min
pnnx改善图中有inplace操作时的输出结点连接探测,带来更多的常量折叠
添加ncnn glsl扩展文档以及中文版(whyb)
修正faq文档错误(KYShek)
改进cmake寻找vulkan提示用语(zchrissirhcz)
更新vs2017编译步骤的细节(brcarry)
新增Intel oneAPI编译步骤(mizu-bai)
更新loongarch ci工具链,添加loongarch lsx覆盖率
更新python ci版本,新增python-3.12包
更新rpi3b+/rpi4b测试数据
更新huawei kunpeng 920测试数据(MobtgZhang)
新增3A6000和TH1520 gpu测试数据(Rabenda)
新增RDK X3 Module测试数据(LJoson)
修复ios模拟器gpu badge(732857315)

New Contributors
* charlescao460 made their first contribution in https://github.com/Tencent/ncnn/pull/4738
* Justin62628 made their first contribution in https://github.com/Tencent/ncnn/pull/4765
* zhenjiaguo made their first contribution in https://github.com/Tencent/ncnn/pull/4801
* 732857315 made their first contribution in https://github.com/Tencent/ncnn/pull/4836
* KYShek made their first contribution in https://github.com/Tencent/ncnn/pull/4837
* JeremyRand made their first contribution in https://github.com/Tencent/ncnn/pull/4807
* Upliner made their first contribution in https://github.com/Tencent/ncnn/pull/4828
* Mek101 made their first contribution in https://github.com/Tencent/ncnn/pull/4855
* brcarry made their first contribution in https://github.com/Tencent/ncnn/pull/4872
* Rabenda made their first contribution in https://github.com/Tencent/ncnn/pull/4894
* Baiyuetribe made their first contribution in https://github.com/Tencent/ncnn/pull/4859
* XiaBing992 made their first contribution in https://github.com/Tencent/ncnn/pull/4940
* lrw04 made their first contribution in https://github.com/Tencent/ncnn/pull/4925

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20230517...20230816

20230517
编译版本,默认配置,android-ndk-r25c,xcode 13.4.1,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-3.1.28
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-apple.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-apple-vulkan.zip | apple xcframework,ios + ios-simulator + macos + mac-catalyst,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e |
|ncnn-ios-simulator.zip | ios simulator 静态库,with and w/o bitcode | i386 + x86_64 + arm64 |
|ncnn-ios-simulator-vulkan.zip | ios simulator 静态库,支持 GPU,with and w/o bitcode | x86_64 + arm64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-mac-catalyst.zip | mac catalyst 静态库,with and w/o bitcode | x86_64 + arm64 |
|ncnn-mac-catalyst-vulkan.zip | mac catalyst 静态库,支持 GPU,with and w/o bitcode | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

arm convolution winograd重构支持任意elempack
arm convolution sgemm重构支持任意elempack
arm convolution直接卷积重构支持任意elempack
arm deconvolution/matmul 调用 gemm 完成计算
arm softmax支持任意elempack和bf16/fp16优化
arm multiheadattention fp16sa softmax优化
arm/x86 convolution1d直接卷积重构支持任意elempack和优化
粗糙的vulkan gemm和multiheadattention优化
multiheadattention支持输入attention mask
sigmoid/swish/clip/gelu/mish/tanh支持4d输入
减少double类型的使用(zhiliu6)
arm a53/a55架构检测和流水线优化
允许注册自定义层替代内置实现
x86 asin/acos/atan/atan2 sse2/avx/avx512优化(MouriNaruto)
sse_mathfunc迁移floor/ceil(Yoh-Z)
x86 mathfun迁移abs(Yoh-Z)
simpleocv新增cv::imdecode内存加载图片(AlOa)
新增配合vulkan vma使用的三种扩展支持(whyb)
新增获取vkinstance的接口(whyb)
新增通用的sleep接口(whyb)
innerproduct允许2维高度1的输入输出
修复multiheadattention分配内存存在的多线程竞争问题
修复在获取不到cache信息时的除0错误
修复scale avx512计算错误
修复exynos9810非法指令错误
老旧adreno驱动中禁用fp16a以解决计算错误
绕过n卡padding shader编译错误
移除platform.h中无用的aarch64判断(dreamcmi)
修正modelwriter squeeze层参数id错误(irexyc)
修复gcc-13编译错误(hillwoodroc)
修复gcc-5.2 aarch64编译错误
修复aosp编译错误(caofx0418)
修复n卡上benchmark退出时的crash(triple-Mu)
修复获取cpu cache信息潜在的fd泄漏
优化lightmode循环条件(MambaWong)
绕过新版moltenvk的兼容性问题
绕过n卡在multiheadattention softmax结果偶发nan的兼容性问题
调用cpu.h接口时强制初始化全局cpu信息
pnnx支持torch-2.0
pnnx支持complex数据类型
pnnx转换torch.baddbmm/torch.mm/torch.stft家族/torch.std/F.scaled_dot_product_attention
pnnx支持fp16权重的torchscript
pnnx支持非forward的其他函数入口
pnnx当只有一个动态维时候折叠reshape的shape表达式
pnnx识别常数常量和表达式中的折叠
pnnx自动删除maxpool无indices输出项
pnnx总是删除convtransposed output_size参数
pnnx合并gelu表达式
pnnx合并vit/clip/diffusers attention
修正pnnx的RNN/GRU省略输出项的python代码生成
修正pnnx转换ir时潜在的负INT_MAX下溢问题
修正pnnx fprintf类型不匹配(kernelbin)
修复pnnx windows编译错误(Yoh-Z)
pyncnn model zoo添加yolov7-tiny(kennybradley)
pyncnn model zoo添加yolov8s(triple-Mu)
macos pypi包使用完整版本号
改善wasm ci编译效率
更新ci swiftshader版本
更新cmake ios toolchain,新增ios-simulator arm64和mac catalyst ci
添加qnx toolchain和编译步骤(zchrissirhcz)
删除ubuntu-18.04的ci
更新3A5000 benchmark数据(wzyforgit)
新增2K1000LA benchmark数据(lrzlin)
新增icpc icc benchmark数据(mizu-bai)
新增Hyper-V Linux Guest benchmark数据(MouriNaruto)
新增和更新op4lts/op5/VF2/FT2000/3A4000 benchmark数据(MobtgZhang)
更新centos编译文档(inisis)
更新windows msvc编译文档(kernelbin)
faq新增关于cmake版本升级的内容(inisis)
faq新增关于显卡节能模式的内容(whyb)
修正citation和benchmark文档中的拼写错误(zchrissirhcz)
修正pnnx代码和readme中的拼写错误(jsyzdej zchrissirhcz)

New Contributors
* whyb made their first contribution in https://github.com/Tencent/ncnn/pull/4614
* AlOa made their first contribution in https://github.com/Tencent/ncnn/pull/4557
* caofx0418 made their first contribution in https://github.com/Tencent/ncnn/pull/4622
* dreamcmi made their first contribution in https://github.com/Tencent/ncnn/pull/4628
* kernelbin made their first contribution in https://github.com/Tencent/ncnn/pull/4647
* lrzlin made their first contribution in https://github.com/Tencent/ncnn/pull/4656
* irexyc made their first contribution in https://github.com/Tencent/ncnn/pull/4658
* jsyzdej made their first contribution in https://github.com/Tencent/ncnn/pull/4665
* hillwoodroc made their first contribution in https://github.com/Tencent/ncnn/pull/4684
* MobtgZhang made their first contribution in https://github.com/Tencent/ncnn/pull/4687
* kennybradley made their first contribution in https://github.com/Tencent/ncnn/pull/4693

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20230223...20230517

20230223
编译版本,默认配置,android-ndk-r25c,xcode 14.0.1,ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-3.1.28
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

扩充binaryop broadcast规则
新增copyto算子,对应于torch inplace slice copy操作
x86 gemm优化,新增 transpose_output 参数
x86 multiheadattention优化
x86 groupnorm优化(EdVince)
arm gemm优化,包括fp16s/fp16sa
arm gelu优化(EdVince)
arm multiheadattention优化(EdVince)
新增获取cpu l2/l3 cache大小接口,通过sysconf/win32-api和linux sysfs
x86 gemm 依据l2 cache分块的优化
x86 convolution/deconvolution/deformableconv2d/matmul 调用 gemm 完成计算
x86 convolution winograd重构支持任意elempack
x86 convolution直接卷积重构支持任意elempack
x86公共的bfloat转换函数
slice/eltwise/concat支持4d输入
c api新增获取output indexes names接口
改善vulkan winograd f43 fp16计算数值稳定性
修复gpu信息bug bliz初始化问题(weirdseed)
修正arm bfloat2float和float2bfloat命名相反的问题
更新riscv winograd f32系数,修复一些警告
更好的riscv rvv tanh实现
为ncnnoptimize/ncnn2int8添加新加的算子和参数
修复musl libc编译问题
更新stb image和image write,启用arm neon优化
更新emsdk版本到3.1.28,开启SIMPLEOCV(ncnnnnn)
pnnx新增torch.cumsum转换(csukuangfj)
pnnx新增torch.atan2/log10转换
pnnx自动替换pow(x,2)为square(x)
修正pnnx windows slice end参数问题(Yoh-Z)
pnnx自动删除无用的Tensor.clone(Yoh-Z)
pnnx自动展开模型输入tuple和list类型
pnnx转ncnn时分析binaryop broadcast规则并插入适当的reshape
pnnx折叠常数常量,修复常数转换MemoryData兼容性问题
pnnx合并pixel unshuffle(Yoh-Z)
去除pnnx readme多余空行(inisis)
去除pnnx无用的include(XiangYyang)
修正pyncnn output_indexes接口错误(wyushun)
修复最新macos vulkan sdk兼容性问题(w1ndseeker)
删除python代码无用的import(dianjiaogit)
修复macos ci的xcode版本和vulkan sdk安装问题
更新ci中已废弃的create release步骤
添加CITATION.cff(tpoisonooo)
更新cpu benchmark数据(wzyforgit)
修复README编译状态badge(tpoisonooo)
修复README编译链接(tuduweb)
修正拼写错误(hwdef hiteshhedwig)
添加ncnn-fortran例子(mizu-bai)
添加sherpa-ncnn实时语音识别例子(csukuangfj)

New Contributors
* mizu-bai made their first contribution in https://github.com/Tencent/ncnn/pull/4423
* inisis made their first contribution in https://github.com/Tencent/ncnn/pull/4428
* dianjiaogit made their first contribution in https://github.com/Tencent/ncnn/pull/4378
* wyushun made their first contribution in https://github.com/Tencent/ncnn/pull/4453
* w1ndseeker made their first contribution in https://github.com/Tencent/ncnn/pull/4472
* hiteshhedwig made their first contribution in https://github.com/Tencent/ncnn/pull/4486
* weirdseed made their first contribution in https://github.com/Tencent/ncnn/pull/4493
* XiangYyang made their first contribution in https://github.com/Tencent/ncnn/pull/4497
* tuduweb made their first contribution in https://github.com/Tencent/ncnn/pull/4530

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20221128...20230223

20221128
编译版本,默认配置,android-ndk-r25b,xcode 12.4,ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

新增loongarch64 lsx向量指令集优化,包括absval/batchnorm/bias/binaryop/cast/clip/concat/convolution1d/convolutiondepthwise/convolution/crop/deconvolutiondepthwise/deconvolution/dequantize/dropout/eltwise/flatten/hardsigmoid/hardswish/innerproduct/interp/mish/packing/padding/pooling/prelu/quantize/relu/requantize/sigmoid/slice/softmax/swish/tanh/unaryop算子(junchao-loongson)
layernorm x86优化(LinHeLurking LRY89757)
batchnorm/elu/prelu/gelu x86优化(LRY89757)
softmax arm neon优化(luqiang-guo)
batchnorm/instancenorm riscv vector优化(thelastlin)
deformableconv2d x86优化(miemie2013)
elu vulkan优化(Yoh-Z)
convolution int8 x86 sse2/avx2优化
更新riscv vector segment load/store(thelastlin)
改善内存池回收机制(LinHeLurking)
新增获取cpu物理核心数量api,默认线程数设为物理大核心数量
实现控制单层运算特性是否启用的参数
更通用的macos/ios cpu特性探测过程,a15/a16/m2启用bf16和i8mm指令集
统一innerproduct x86 fp32/fp16s内核代码
修复在android省电模式cpu离线导致openmp崩溃的问题
实现glu算子与对应的pnnx转换(csukuangfj)
新增fold和unfold算子
新增gridsample算子与对应的pnnx转换(LRY89757)
lstm支持proj_size参数
groupnorm支持1d/2d/4d输入计算
squeeze/expanddims支持4d输入输出
multiheadattention支持kdim vdim参数
修复convolutiondepthwise allocator的错误设置(w8501)
修正windows arm环境中convolution权重为空的问题
修复onnx2ncnn blob名字超出255长度的问题(ZhangGe6)
修正expanddims axes参数id错误的问题(LiuYi-Up)
修正c api allocator无法工作的问题(qiqikit)
更严格的编译器armv7 fp16功能检查和兼容
修复老版本gcc编译avx512代码的编译错误(bestpower)
修复windows-arm64编译(zchrissirhcz)
修复在老版本ndk引用ncnn链接atomic内置函数失败的问题
修复新版本pybind11编译错误(tpoisonooo)
python模块支持mat.numpy()(csukuangfj)
更新pybind11和glslang子模块
pyncnn发布python 3.11包和windows arm版本

22.04

release android采用ndk-r23c编译
release预编译包保护软链接

New Contributors
* LRY89757 made their first contribution in https://github.com/Tencent/ncnn/pull/3741
* nathannaveen made their first contribution in https://github.com/Tencent/ncnn/pull/3758
* Z841973620 made their first contribution in https://github.com/Tencent/ncnn/pull/3757
* Nlzy made their first contribution in https://github.com/Tencent/ncnn/pull/3774
* cugxchen made their first contribution in https://github.com/Tencent/ncnn/pull/3779
* luyanaa made their first contribution in https://github.com/Tencent/ncnn/pull/3821
* triple-Mu made their first contribution in https://github.com/Tencent/ncnn/pull/3824
* Jianbo-Ning made their first contribution in https://github.com/Tencent/ncnn/pull/3901
* moozae made their first contribution in https://github.com/Tencent/ncnn/pull/3965

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20220420...20220701

20220420
编译版本,默认配置,android-ndk-r21d,xcode 12.4,ubuntu-18.04,ubuntu-20.04,vs2015,vs2017,vs2019,vs2022,emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x86_64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

conv vulkan im2col+sgemm优化
conv vulkan winograd43优化
conv vulkan implicit gemm优化
deconv vulkan sgemm+col2im优化
conv/deconv vulkan local memory优化
conv vulkan 直接卷积unroll优化
改善conv vulkan winograd23/winograd43选择策略
融合conv vulkan winograd 前后的pad/crop到transform中
innerproduct vulkan 拆分两阶段优化
补全conv 1x1 vulkan任意packing
补全conv 3x3 winograd vulkan任意packing
conv/deconv vulkan pack4 nvidia tensorcore优化
x86 sse/avx 数学函数优化(Yoh-Z)
unaryop x86 优化(Yoh-Z)
floor/ceil/abs x86 sse优化(MouriNaruto)
convoluition/convoluitiondepthwise/innerproduct/padding/pooling/interp/eltwise/crop/reshape/slice/hardsigmoid/swish/binaryop/clip/relu/sigmoid/unaryop x86 avx512优化
conv sgemm avx512优化
conv3x3 winograd avx512优化
deconvolution/deconvolutiondepthwise x86直接反卷积实现
softmax x86 sse/avx/avx512优化
quantize/dequantize/requantize mips msa优化
conv int8/convdw int8/innerproduct int8 mips msa优化
multiheadattention arm neon优化(EdVince)
softmax arm neon优化
conv3x3 winograd transform部分提出为可复用函数
x86 f16c指令集检测和分发
删除没什么用的avx2-fp16相关代码
simpleomp允许最多32个microtask参数
添加loongson mmi头文件和编译支持
新增deconv1d,deconv3d和对应的pnnx转换
修正老版本gcc的avx512编译参数问题
修正sigmoid x86在很大数值输入返回nan的问题
修正gpu推理convdw发生unlocked pool allocator destoryed too early的问题
避免mips msa推理时可能发生浮点数异常
batchnorm加载参数时避免除0异常
为新算子更新modelwriter
copy_make_border添加reflect类型
mali g31/g52启用fp16
修复armhf工具链编译问题
global pooling强制使用fp32累加避免nan问题
修复某些android系统无法dlsym getauxval的问题
修正新版本moltenvk tanh兼容问题
提出vulkan激活函数,glsl中实现include
修复armv7编译单元测试失败的问题(jasonZhang892)
修正conv3x3 winograd矩阵注释(MouriNaruto)
修正how-to-build拼写错误,更新jetson-nano编译文档(tpoisonooo)
更新ios编译文档(mirrorsysu)
一些注释和代码清理和修复编译警告(tpoisonooo)
修正readme中的单词大小写(YoungSx)
更新use-ncnn-with-own-project中的glslang的库列表
ci新增msvc arm/arm64目标
ci新增linux loongarch目标
ci更新windows matrix和vs2022目标
修复vs2019打包
新增yolov5_pnnx例子
新增nanodetplus_pnnx例子
减少yolov5例子中后处理耗时(UNeedCryDear)
修复yolov5.py框位置问题(hariag)
更新ls2k1000的benchmark数据
pnnx支持转换torch unbind/ones/ones_like/full/full_like/randn_like/empty/empty_like/addmm

7.0.1

20181228
编译版本,默认配置,android-ndk-r17b,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

clip armv7/aarch64优化
convdw5x5 armv7/aarch64优化
conv3x3s1 aarch64优化
convdw3x3 int8 armv7 优化
conv1x1/conv3x3 int8 aarch64 优化
新增从内存加载明文param接口 Net::load_param_mem()
修正permute/dequantize/lstm/innerproduct int8
新增psroipooling/roialign
新增VS ImageWatch插件
修复新版本cmake的openmp编译
支持树莓派3编译
支持ARM-linux和hisi平台编译
更新cmake-ios工具链
修正yolov2多尺度检测
支持yolov3和yolov3例子
darknet2ncnn转换器
支持R-FCN和R-FCN例子
支持mxnet-ssd模型转换
新增shufflenetv2例子
兼容onnx opset7/8模型转换,增加更多op转换
修正mxnet batchnorm fix_gamma参数转换
新增yuv420sp转RGB和缩放函数
benchmark新增mnasnet/proxylessnasnet/mobilenet-yolov2/mobilenet-yolov3


20180830
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

blob/workspace内存池接口
winograd/sgemm/int8推断运行时开关
更精细的多线程控制
caffe模型转换加载int8量化表
int8推断(experimental)
windows高精度时间戳
conv3x3s2优化
depthwiseconv3x3s1 arm64优化
conv1x1和conv3x3 int8 armv7优化
修正dilated+stride conv快速运算
mxnet-shufflenet模型转换
新增mobilenetv2ssdlite例子

20180704
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

20180427
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

20180314
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)


20180129
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

20171225
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

20171017
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

20170919
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

20170809
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

20170724
编译版本,默认配置,android-ndk-r13b,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

[ncnn-android-lib.zip](https://github.com/Tencent/ncnn/files/1169056/ncnn-android-lib.zip)
[ncnn.framework.zip](https://github.com/Tencent/ncnn/files/1169057/ncnn.framework.zip)
[openmp.framework.zip](https://github.com/Tencent/ncnn/files/1169055/openmp.framework.zip)


20240411.5a58f5c


20231027.5d10e61


20230322.8b43a9e


20240411.5a58f5c


20231027.5d10e61


20230322.8b43a9e


20240411.c4e3642


20240411.c4e3642


20240411.6e68e2f


20231109.80f6273


20231027.2b005ad


20230322.ccb5618


v2


v1


20240411.6e68e2f


20231109.80f6273


20231027.2b005ad


20230322.ccb5618


v2


v1

2.2.2

更可靠的ci任务取消机制
ci新增avx512和nvidia t4
修复python wheel发布脚本
更新ci lavapipe版本(ljtjerry)
更新ci webassembly支持nodejs v16
更新FAQ(zhaqu, Bright476, Rinfair-CSP-A016)
修正拼写错误(cmdbug)

New Contributors
* zhaqu made their first contribution in https://github.com/Tencent/ncnn/pull/3374
* ljtjerry made their first contribution in https://github.com/Tencent/ncnn/pull/3387
* Rinfair-CSP-A016 made their first contribution in https://github.com/Tencent/ncnn/pull/3399

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20211122...20211208

20211122
编译版本,默认配置,android-ndk-r21d,xcode 12.4,ubuntu-18.04,ubuntu-20.04,vs2015,vs2017,vs2019,emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x86_64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

PNNX(PyTorch Neural Network Exchange)是PyTorch模型部署的新方式,可以避开ONNX中间商,导出比较干净的高层OP
risc-v v binaryop, hardswish, hardsigmoid, prelu, selu, dropout, gru, softmax优化(thelastlin)
risc-v v conv1x1 fc优化
arm neon requantize leakyrelu优化
arm neon innerproduct gemm int8优化
针对c906 sgemm pack优化(yaobyPerfxlab, xianyi)
x86 avx 卷积激活优化(zhiliu6)
x86 sse convolution, convolutiondepthwise, pooling优化(Timen)
修正layernorm affine计算错误
修正pooling adaptive计算错误
修正deconvolution output padding在有bias时的计算错误
interp支持cubic aligncorner插值
interp支持对2维数据w方向拉伸
新增convolutiondepthwise1d和pnnx转换
rnn/lstm/gru支持不相等的输入输出个数
修正squeeze和expanddims层axes的处理
使用整数计算pooling adaptive参数上下界(Yutyrannus)
修复armv7 neon round模式差异
修复x86 sse/avx round模式差异
修复int8输入单元测试可能的越界读
修复在某些android平台无法获得auxv变量的问题
修正apple a11 a12检测armv8.2 dot扩展指令错误的问题
内存引用加载模型时不再拷贝到内存
修复pyncnn numpy转Mat时非对齐拷贝出错的问题
正确检测和支持apple a15和m1(zchrissirhcz)
修复AVX-only代码和用户提供opt时的单元测试逻辑(Timen)
hardswish激活合并入convolution和innerproduct(zhiliu6)
自动解耦extract的Mat数据与Net实例的内存池
Net的custom_layer_to_index移到public(Timen)
删除代码中的无用变量(Sinky-Yan)
cmake检测esp32的xtensa架构
cmake install安装ncnn工具(jinmingyi1998)
修正hardswish test beta参数(zhiliu6)
修复ncnnoptimize无法生成合理int8权重的问题
ncnnoptimize支持embd层
修正onnx2ncnn concat算子负数axis转换的问题
修复onnx2ncnn合并expand算子(grimoire)
修复某些arm kernel越界读数据的问题
修复NCNN_STDIO=OFF的编译问题
新增YOLOX例子, 更新预处理逻辑(FateScript)
新增RobustVideoMatting例子(FeiGeChuanShu)
新增scrfd croudhuman例子(MarsTechHAN)
新增YOLOv5 v6.0例子(zhiliu6)
新增CrowdCounting-P2PNet例子(FeiGeChuanShu)
readme添加yolox(Sinky-Yan)
更新readme文档(fzyzcjy)
修复msvc编译器警告(TianZerL)
一些拼写错误修正(cmdbug, huoshuai-dot)
更新faq文档(ncnnnnn, luqiang-guo, zhiqwang, cmdbug, CharlesHuan, Shiro-Nana, zmq175)
更新operators算子文档(soragotosann)
更新d1和ls2k编译文档
新增termux编译文档(Sinky-Yan)
更新msvc编译文档(ncnnnnn)
更新编译文档(dankernel, mlbo, xiguadong)
更新macos openmp安装方法(zhiqwang)
更新量化文档中的链接(ShiquanYu)
修正python编译文档路径错误(nixondutt)
benchmark新增m1数据(zhiqwang)
benchmark新增mbp数据(AnnYellow)
benchmark新增khadas vim3 amlogic a311d数据(elejke, FeiGeChuanShu)
benchmark新增Phytium FT-2000+/64数据
benchmark新增RK3568数据(BowShotDS)
benchmark新增RK3328数据(Liuyufanlyf)
benchmark新增Ingenic X2000和T40数据(MarsTechHAN)
ci更新swiftshader
ci新增基于lavapipe的gpu测试
ci删除travis arm32(Richuanwu)
ci更新xcode版本

New Contributors
* SinKy-Yan made their first contribution in https://github.com/Tencent/ncnn/pull/3124
* FateScript made their first contribution in https://github.com/Tencent/ncnn/pull/3110
* BowShotDS made their first contribution in https://github.com/Tencent/ncnn/pull/3145
* Liuyufanlyf made their first contribution in https://github.com/Tencent/ncnn/pull/3164
* yaobyPerfxlab made their first contribution in https://github.com/Tencent/ncnn/pull/3159
* TianZerL made their first contribution in https://github.com/Tencent/ncnn/pull/3188
* grimoire made their first contribution in https://github.com/Tencent/ncnn/pull/3189
* dankernel made their first contribution in https://github.com/Tencent/ncnn/pull/3248
* Richuanwu made their first contribution in https://github.com/Tencent/ncnn/pull/3279
* ShiquanYu made their first contribution in https://github.com/Tencent/ncnn/pull/3283
* nixondutt made their first contribution in https://github.com/Tencent/ncnn/pull/3293
* mlbo made their first contribution in https://github.com/Tencent/ncnn/pull/3314
* luqiang-guo made their first contribution in https://github.com/Tencent/ncnn/pull/3332
* Yutyrannus made their first contribution in https://github.com/Tencent/ncnn/pull/3333
* xiguadong made their first contribution in https://github.com/Tencent/ncnn/pull/3344
* soragotosann made their first contribution in https://github.com/Tencent/ncnn/pull/3345
* huoshuai-dot made their first contribution in https://github.com/Tencent/ncnn/pull/3348
* fzyzcjy made their first contribution in https://github.com/Tencent/ncnn/pull/3358
* CharlesHuan made their first contribution in https://github.com/Tencent/ncnn/pull/3361
* Shiro-Nana made their first contribution in https://github.com/Tencent/ncnn/pull/3368
* zmq175 made their first contribution in https://github.com/Tencent/ncnn/pull/3369
* AnnYellow made their first contribution in https://github.com/Tencent/ncnn/pull/3373

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20210720...20211122

20210720
编译版本,默认配置,android-ndk-r21d,xcode 12.2,ubuntu-16.04,ubuntu-18.04,ubuntu-20.04,vs2015, vs2017,vs2019, emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x86_64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

risc-v架构cpu的vector 0.7.1和1.0扩展的算子优化,包括fp32/fp16,支持可变vlen,运行时检测vector和半精度扩展与函数分发(absval, cast, clip, concat, convolution, convolutiondepthwise, crop, deconvolution, deconvolutiondepthwise, flatten, innerproduct, interp, mish, packing, padding, pooling, relu, sigmoid, swish, tanh, unaryop)
mips架构cpu的msa扩展的算子优化,运行时检测msa扩展与函数分发(absval, bias, binaryop, clip, concat, convolution, convolutiondepthwise, crop, deconvolution, deconvolutiondepthwise, dropout, eltwise, flatten, hardsigmoid, hardswish, innerproduct, interp, mish, packing, padding, pooling, prelu, relu, sigmoid, slice, softmax, swish, tanh, unaryop)
运行时检测avx,优化avx-only平台的性能(Timen)
支持loongarch64架构编译(tsuibin)
在apple设备上总是启用armv8.2 dot
可以不依赖opencv用simpleocv编译example示例
改善visual studio配合clang编译(Timen)
新增cmake选项NCNN_BF16,可禁止所有bf16相关代码减小库体积
大幅更新operators算子文档
arm neon数学函数fma优化
arm neon tanh优化(deepage)
AbsVal/ReLU的risc-v vector优化(thelastlin)
修正x86 requantize pack4to1计算错误
修正innerproduct gemm in8计算错误(lsdustc)
修正warpaffine_bilinear_yuv420sp uv变换矩阵错误(DaydreamCoding)
修正yuv420sp2rgb在armv7平台越界读数据问题(zchrissirhcz)
修正vulkan push_constant编码时的内存泄漏(chenxiemin)
darknet2ncnn支持sam层和letter_box检测(zhiliu6)
修复darknet2ncnn pad=0转换错误(zhiliu6)
修正ncnn2table工具解析命令行长数字错误
优化ncnn2table多线程效率
ncnn2table支持动态输入(jinmingyi1998)
修正ncnn2table easyquant方法文件索引错误(lsdustc)
修正ncnnoptimize丢失interp参数问题(jinmingyi1998)
修复ncnnoptimize在替换conv为fc算子后可能的段错误
修复ncnnoptimize在遇到孤立节点时可能的段错误
修复macos ci swiftshader编译
修正test_extractor.py的TypeError断言(zhiqwang)
修复macos的编译警告(proydakov)
risc-v ci升级qemu 6.0.0并支持rvv扩展
ci现在过滤更改文件,减少触发
新增c906工具链
更新visual studio编译中文文档(zchrissirhcz)
修正examples yolov4视频加载错误(uniartisan)
readme添加pocky群号(JuYanYan)
readme添加scrfd(ncnnnnn)
增加issue模板(tpoisonooo)
一些拼写错误修正(hwdef)
benchmark新增nanodet_m模型(BUG1989)
benchmark新增v1605b数据(kalcohol)
benchmark新增loongson 2k1000数据
benchmark更新jetson agx数据(zineos)
新增代码格式化ci,禁用restyled

New Contributors
* JuYanYan made their first contribution in https://github.com/Tencent/ncnn/pull/2956
* uniartisan made their first contribution in https://github.com/Tencent/ncnn/pull/3005
* hwdef made their first contribution in https://github.com/Tencent/ncnn/pull/3045
* DaydreamCoding made their first contribution in https://github.com/Tencent/ncnn/pull/3048
* sdli1995 made their first contribution in https://github.com/Tencent/ncnn/pull/3081
* chenxiemin made their first contribution in https://github.com/Tencent/ncnn/pull/3088
* tsuibin made their first contribution in https://github.com/Tencent/ncnn/pull/3094

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20210525...20210720

20210525
编译版本,默认配置,android-ndk-r21d,xcode 12.2,ubuntu-16.04,ubuntu-18.04,ubuntu-20.04,vs2015, vs2017,vs2019, emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x86_64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

绘图api,画框,画圆,画线,画字
simpleocv添加stb_image读写图片文件
运行时检测armv8.2 dotprod
未找到opencv时依然能编译量化工具
允许超过gpu硬件队列数限制并行提交任务
ncnnoptimize自动生成随机bin文件
修复convolutiondepthwise int8经过ncnnoptimize后权重错位问题
extract int8数据自动转换为fp32
添加获取模型输入输出blob接口(caishanli)
发布python预编译包(caishanli)
更新imx7d benchmark
risc-v v 优化数学函数
运行时检测 risc-v vlen
mlir2ncnn合并swish
benchmark添加efficientnetv2_b0
修正jetson cmake工具链错误定义android宏的问题
修正macos/ios glslang framework打包问题
webassembly预编译包启用simpleocv
添加scrfd人脸检测例子
添加scrfd人脸检测截图(ZHEQIUSHUI)
更新FAQ(deepage)
修正拼写错误(FusionBolt)
添加下载数badge

New Contributors
* FusionBolt made their first contribution in https://github.com/Tencent/ncnn/pull/2922
* ZHEQIUSHUI made their first contribution in https://github.com/Tencent/ncnn/pull/2925

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20210507...20210525

20210507
编译版本,默认配置,android-ndk-r21d,xcode 12.2,ubuntu-16.04,ubuntu-18.04,ubuntu-20.04,vs2015, vs2017,vs2019, emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x86_64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

int8 packing重构,自动转换packing,大幅优化int8 arm neon卷积实现,支持armv8.2 dot指令加速
重写ncnn量化工具,支持kl/aciq/easyquant三种量化策略,提升多线程效率
ncnn2int8 离线融合quantize-激活-dequantize为requantize,实现端到端int8
去除用于在线融合requantize功能的cmake NCNN_REQUANT编译选项
conv/fc int8支持全部激活组合
conv3x3s1 pack8 直接卷积x86 avx优化
conv3x3 conv1x1 pack8 x86优化(zhiliu6)
instancenorm arm neon优化
pixelshuffle arm neon优化
运行时检测risc-v cpu v扩展和函数分发
log/exp/sin/cos/tanh数学函数的risc-v v优化
packing/sigmoid/mish/tanh/swish/unaryop/cast risc-v v优化
动态库导出vkcommand和vkcompute api
binaryop新增三种broadcast类型
新增cmake编译选项NCNN_INT8,可禁用全部int8推理相关代码
为find_blob_index_by_name错误附加更有用的提示信息
新增检测cpu支持risc-v v扩展和fp16扩展的查询接口
新增c906编译支持
删除caffe2ncnn中早期遗留的fp16和int8量化功能
修正conv1x1s1 sgemm pack8to4 fp16sa有bias时arm neon计算错误的问题
修正lrn vulkan因fp16精度不足导致计算错误的问题
修正ncnn2int8解析过长行时出错
修正使用gpu时候,无法input extract同个blob的问题
修正macos使用集成显卡时初始化错误
修正tanh neon计算错误
修复启用NCNN_ARM82编译时在树莓派运行发生非法指令错误
修正caffe2ncnn input层1维2维的参数转换
修正onnx clip没有max导致转换出错的问题
mxnet2ncnn 支持channel pad
改善mxnet2ncnn有同名blob模型的兼容性
排序ncnn_add_layer_test(ncnnnnn)
为hardsigmoid/hardswish默认参数添加注释(songqun)
python打包去掉ppc64le(caishanli)
修复老版本gcc编译问题
修复NCNN_STRING=OFF时的编译问题(zhiliu6)
添加Apple M1 benchmark(DaChengTechnology)
修正文档拼写错误(cmdbug, proydakov)
更新ncnn量化推理文档
更新operation-param-weight-table(cmdbug)
添加新的faq文档(wwdok, zchrissirhcz, runrunrun1994, wblksheep, DaChengTechnology, ncnnnnn, 791136190, mmiirroo, cmdbug)
删除构建文档中有关cctools的部分
restyled机器人不触发ci
更新codecov版本
更新risc-v ci工具链,支持最新rvv-1.0
添加risc-v的代码覆盖率
更新qcom855+的benchmark数据

New Contributors
* wwdok made their first contribution in https://github.com/Tencent/ncnn/pull/2829
* runrunrun1994 made their first contribution in https://github.com/Tencent/ncnn/pull/2831
* wblksheep made their first contribution in https://github.com/Tencent/ncnn/pull/2835
* mmiirroo made their first contribution in https://github.com/Tencent/ncnn/pull/2851
* xianyi made their first contribution in https://github.com/Tencent/ncnn/pull/2868

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20210322...20210507

20210322
编译版本,默认配置,android-ndk-r21d,xcode 12.2,ubuntu-16.04,ubuntu-18.04,ubuntu-20.04,vs2017,vs2019
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x86_64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads |

warpaffine函数arm neon优化
新增multiheadattention和pytorch的转换
新增gelu(RBelogorodtsevFBase)
新增flush denormal选项并默认启用(leeys888)
新增adaptive_pooling vulkan实现(zylo117)
默认使用net局部的内存池
默认使用大核心的cpu作为线程数
在较新的adreno/mali gpu上启用fp16s/int8s
修正int8 armv7 conv1x1s1 requant无neon计算错误
conv3x3s1 winograd42 arm neon优化
通用convolution im2col sgemm的arm neon优化
常规的AVX2 convolution优化(zhiliu6)
优化ssd detectionoutput候选框计算(WeiChungChang)
在旧版adreno驱动时使用桥接的image上传下载
修复inplace forward(gdh1995)
消除NCNN_BENCHMARK启用时不必要的数据复制(yx9527)
改善megvii风格的shufflechannel转换
onnx2ncnn自动拓扑排序
改善onnx2ncnn layernorm转换
ncnnoptimize可以切分模型(chentyjpm)
mlir2ncnn设置自定义llvm/mlr路径(daquexian)
修复多输入模型使用gpu推理可能导致的数据错误
修复gpu image分配失败的回退cpu的问题
修复gpu buffer2host的问题
修复某些pipeline编译失败的问题(zchrissirhcz)
修复macos编译问题(leeys888)
修复onnx2ncnn转换某些memorydata shape错误
修复python model zoo下载(caishanli)
修复ncnnoptimize遇到多个自定义层崩溃问题
cmake寻找和链接thread库
更新glslang版本(proydakov)
int8量化工具支持adaptive pool(GuoxiaWang)
上传wheel到pypi(caishanli)
修复python net extractor销毁顺序的问题(caishanli)
新增python vulkan test(caishanli)
修正python setup.py缺失的import(zylo117)
更新convertmodel.com链接(daquexian)
更新mlir tf2 dialect
修正一些拼写错误(zchrissirhcz, caishanli, zhiqwang)
ios最低版本要求9.0(DaChengTechnology)
关于在自己项目使用ncnn的文档(zchrissirhcz)
readme新增nanodet(RangiLyu)
补充android cmake ninja编译方法(ncnnnnn)
readme更新各个算法链接(linser233)
修正how-to-build文档中benchncnn输出格式(ncnnnnn)
新增build-mlir2ncnn文档(zchrissirhcz)
修复nanodet示例代码的变量重名(RangiLyu)
修复yolact示例代码的越界问题(cmdbug)
新增nanodet python demo(caishanli)
新增有关nvidia gpu无法开启vulkan问题的文档(PENGUINLIONG)


20210124
编译版本,默认配置,android-ndk-r21d,xcode 12.2,ubuntu-16.04,ubuntu-18.04,ubuntu-20.04,vs2017,vs2019
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x86_64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads |

添加python绑定,默认不编译(caishanli)
新增cmake选项NCNN_SHARED_LIB编译动态库,pimpl实现模式
新增cmake选项NCNN_PLATFORM_API控制是否调用平台相关的api
大幅更新 C api,增加底层 op 接口
Blob类的consumer成员改为单个
重构forward_layer逻辑为更加简短
warpaffine整数实现和 arm neon 优化
新增pooling的adaptive参数,支持pytorch AdaptiveAvgPool2d/AdaptiveMaxPool2d转换(GuoxiaWang)
新增gru和rnn,以及对应的 arm neon 优化
lstm arm neon 优化
innerproduct aarch64 int8 gemm优化(tpoisonooo)
padding支持1-3维,补充单元测试用例
packing pack8 arm neon 优化
重构onnx2ncnn和mlir2ncnn构图和优化逻辑,修复opset_version=12模型转换错误
改善onnx lsrm/gru/rnn的转换和算子融合
interp vulkan 支持 align_corner=True
innerproduct现支持2维gemm计算
简化innerproduct x86 arm的pack分类和优化代码
自定义层注册添加custom_layer_destroyer参数(caishanli)
Reorg/PixelShuffle层支持nhwc模式,onnx DepthToSpace mode DCR转换
减少不必要的unpack/pack(maxfy1992)
packing pack4 x86 sse 优化
conv1x1s1 pack4 x86 sse 优化
改善macos的arm64支持
修正 memorydata vulkan 没有packing的问题
单元测试检查layer的支持属性
onnx2ncnn跨batch的Transpose转换
mlir2ncnn使用更短的blob名字
ncnnoptimize中的aborted提示改为skipped
修复blob数量超出实际数量时ncnnoptimize崩溃的问题
android 平台自动链接 jnigraphics
当开启vulkan校验时会启用VK_LAYER_KHRONOS_validation扩展
更换pyncnn model zoo地址(mosheliv)
检查NCNN_MAX_PARAM_COUNT越界(zchrissirhcz)
simplepose例子添加提示(zchrissirhcz)
修复一些编译器警告(zchrissirhcz, ncnnnnn, proydakov)
修正一些代码的拼写错误(zchrissirhcz, ncnnnnn)
修复mingw-x64 simd编译错误(zchrissirhcz)
operators文档添加convolutiondepthwise/crop/sigmoid/tanh(cavalleria)
operators文档添加pooling(Sanster)
更新支持的平台矩阵(monkeyking)
新增github pull request文档(tpoisonooo)
增加 pytest option/allocator/net/extractor
V831工具链(sunnycase)
ci添加vs2015
ci添加python编译(caishanli)
release的windows预编译包包含32位库以及vs2015版本
release添加linux/windows/android动态库预编译包


20201218
编译版本,默认配置,android-ndk-r21d,xcode 12.2,ubuntu-16.04,ubuntu-18.04,ubuntu-20.04,vs2017,vs2019
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads |


ncnnoptimize和ncnn2mem自动处理自定义op
新增获取ncnn版本的API:const char* ncnn_version();
Eltwise层支持一维和二维输入
开启更多vulkan扩展,根据gpu厂商设定较可靠的subgroup size
修正macos/ios arm64 simpleomp崩溃
onnx2ncnn 转换gemm保留输入数据
采用github action编译openmp和预编译包,发布新版本
增加ios arm64e架构编译
修正gcc-4.4/gcc-4.8编译错误
修正一些编译警告(ncnnnnn, zchrissirhcz, proydakov)
修正 build.sh macos 编译参数(cavalleria)
更新 macos vulkan sdk(monkeyking)
benchmark新增3970X和RTX8000数据(BUG1989)
operators文档新增cast(xingxingRealzyx)



20201208
编译版本,默认配置,android-ndk-r21d,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
glslang.framework.zip 是 ios ncnn glslang 运行时静态库(arm64 + x86_64)

新增Mat pixel affine任意角度旋转平移缩放函数
新增两组点计算warpaffine矩阵和逆变换函数
x86 SSE2的pack4架构更新和一些优化,包括BatchNorm/Bias/BinaryOp/Clip/Concat/Convolution/ConvolutionDepthWise/Dropout/Eltwise/Flatten/HardSigmoid/HardSwish/Innerproduct/Mish/Padding/Pooling/PReLU/ReLU/Scale/Sigmoid/Swish/TanH(PENGUINLIONG)
在支持vulkan 1.1驱动上自动检测subgroup信息
新增跨平台类thread-local-storage
新增simpleomp,实现最少的llvm openmp abi运行函数
新增获取cpu大小核信息的get_little_cpu_count()和get_big_cpu_count()(zchrissirhcz)
新增softplus层实现和onnx转换(ncnnnnn)
支持Apple M1芯片
支持Open Harmony OS(zchrissirhcz)
Concat/Slice/Softmax支持axis负数的参数(Ca0L)
新增NCNN_SSE2编译选项,可完全禁用x86和webassembly的SIMD优化
一些通用的x86 Convolution AVX2性能优化(zhiliu6)
vulkan支持Crop和Padding一维和二维blob
新增keras2ncnn模型转换工具(MarsTechHAN)
Interp支持align_corner=True并支持onnx Resize转换(maxfy1992)
新增yolov5例子(Zhengtq)
新增nanodet例子
vulkan image storage shader统一使用image3d存储类型
禁用NCNN_THREADS时的NCNN_XADD实现
老旧adreno驱动不再启用image类型,修复gpu推理错误
去除ncnnoptimize过时的aarch64自动调优和相关文档
ncnnoptimize合并Reduction为Global Pooling
ncnnoptimize替换单系数PReLU为Leaky ReLU
ncnnoptimize清理broadcasting BinaryOp前的冗余Expand
ncnnoptimize在shape推断后输出MAC和预计的内存足迹
有关opencv-mat转换和旋转文档的错误修正(ncnnnnn)
修正arm82 fp16s crop一维和二维错误的问题
Extractor::extract 支持第三个flag参数避免layout和存储类型转换(MarsTechHAN)
abs()替换为fabs()(zchrissirhcz)
大量的编译器警告修复(proydakov, ncnnnnn, zchrissirhcz, pH5)
ncnn可在c++03标准下编译
修复c++14标准的编译问题(nullptr-leo)
修复NCNN_PIXEL关闭时的编译(tpoisonooo, nullptr-leo)
修复protobuf旧版本编译错误(deepage)
cmake开关NCNN_OPENCV更名为NCNN_SIMPLEOCV
修正yolact例子的颜色越界(zchrissirhcz)
onnx2ncnn支持Max Min Pow与常数的转换
onnx2ncnn支持Pad channel参数
onnx2ncnn MatMul转换支持其中一个为MemoryData输入
修正onnx2ncnn Slice参数转换溢出的问题
修正onnx2ncnn和ncnnoptimize的groupnorm转换
mlir2ncnn适配新mlir api
mlir2ncnn合并keras风格的batchnorm和instancenorm
FAQ新增windows dll卸载崩溃的解决方案(qiqikit)
新增最小化编译ncnn二进制包的中文英文文档(songqun)
新增openmp最佳实践文档(youzainn)
改善编译步骤文档(baryluk)
一些文档和代码注释的拼写错误修正(HollowMan6, Zhengtq)
算子文档更新(xingxingRealzyx, LosReturn, Ca0L)
新增有关convertmodel.com的信息(daquexian)
ci新增webassembly-nosimd和webassembly-simpleomp编译
ci新增android ndk-r16b编译
ci新增vs2017 cpu gpu编译
ci新增macos arm64编译
ci新增codeql分析


20200916
编译版本,默认配置,android-ndk-r21d,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
glslang.framework.zip 是 ios ncnn glslang 运行时静态库(arm64 + x86_64)

armv8.2 fp16s/fp16sa优化,包括batchnorm/binaryop/clip/convolution/convolutiondepthwise/deconvolution/deconvolutiondepthwise/eltwise/flatten/hardsigmoid/hardswish/innerproduct/interp/mish/packing/padding/pooling/prelu/relu/reshape/shufflechannel/sigmoid/slice/swish/tanh/unaryop以及对应的pack8优化实现
默认启用fp16计算功能
Mat from_pixels/from_pixels_resize接受ROI参数实现crop+resize
更精细的cpu绑定接口
新增gemm
新增groupnorm,支持pytorch groupnorm转换
新增layernorm
无affine的instancenorm/groupnorm
ncnnoptimize最后的flag设1表示转fp16模型(by zchrissirhcz)
simplestl新增list实现,完全去除libstdc++依赖(by nullptr-leo)
开放glsl编译spirv接口
interp允许接受第二个blob作为参考size
packing 遵守线程数设置
windows上寻找vulkan-sdk时给出提示信息(by zchrissirhcz)
yolov3detectionoutput层avx优化(by zhiliu6)
mxnet reduction 参数兼容数组和单个数字
ncnnoptimize自动合并binaryop-with-scalar
修正opencv 2.x/4 编译问题(by zchrissirhcz)
修复resize_bilinear_c4可能的crash
修正开启bf16s时extract可能没有转回fp32的问题
修正老编译器UINT64_MAX编译错误(by ncnnnnn)
修正vulkan conv1x1s1 pack1计算错误
修正onnx2ncnn在转换resize时可能的crash
load_param_mem的参数必须以\0结尾
更新mlir tf2 dialect
mlir2ncnn转换tf.Maximum/tf.Minimum/tf.ResizeBilinear
mlir2ncnn合并instancenorm
mlir2ncnn合并keras风格的Conv2d/Dense
修正yolov4例子bgr2rgb(by MarsTechHAN and qaz734913414)
修正darknet maxpool padding size转换(by ruru5697)
ncnn cmake target自动依赖glslang(by youzainn)
修正powerpc64编译问题,绕过interp altivec优化bug
修正armv7带stride参数from_pixels bus error
单元测试新增mat pixel resize
默认不编译ncnn单元测试(by caishanli)
ci最低编译环境为ubuntu-16.04,c++03
添加telegram群聊(by zchrissirhcz)


20200727
编译版本,默认配置,android-ndk-r21d,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
glslang.framework.zip 是 ios ncnn glslang 运行时静态库(armv7 + arm64 + i386 + x86_64)


x86 avx优化,包括batchnorm/bias/binaryop/cast/clip/concat/convolution/convolutiondepthwise/crop/dropout/eltwise/flatten/hardsigmoid/hardswish/innerproduct/lrn/lstm/mish/packing/padding/pooling/prelu/relu/reshape/scale/sigmoid/slice/swish/tanh以及对应的pack8优化实现(by Timen)
arm lstm neon优化(by Timen)
附带中间状态输入输出的lstm(by Timen)
使用在线pipeline缓存大幅优化gpu推理的模型加载效率,默认启用
使用gpu推理时自动创建instance
全局开启armv8.2和avx编译,运行时判断cpu特性使用不同的优化代码
C api 上层封装和squeezenet_c_api例子
降低摄像头循环调用ncnn时openmp线程的cpu负载
新增darknet2ncnn教程,yolov4-tiny(by zhiliu6)
mlir2ncnn模型转换工具,可以转换常用分类模型/pix2pi2
修正use_packing_layout/use_bf16_storage选项打开时,int8推理错误
修正当输出层支持bf16s时,没有转换为fp32的错误
修正gpu out of allocator错误
onnx shufflechannel兼容megvii写法
改善onnx slice转换兼容性
改善onnx resize转换兼容性
改善onnx simplified后的normalize转换兼容性
改善reshape nhwc的兼容性
修正deconvolution output shape和padding的处理
修复conv3x3s1 pack1to4 bf16s计算错误
修正tanh mips计算错误
修正输入一维数据和mish激活时convolution计算错误
修正interp nearest计算错误
绕过nvidia显卡上normalize/softmax计算错误
绕过nvidia显卡上padding reflect计算错误
去掉priorbox fp16s的绕过手段
绕过qcom adreno老驱动winograd计算错误的问题
ios打包glslang
ci增加squeezenet/mat_pixels_rotate
ci新增riscv32/riscv64/mips32/mips64,包括riscv-v扩展和mips-msa扩展
新增yolov4例子(by zhiliu6)
FAQ新增jpg解码和resize章节(by zchrissirhcz)
benchmark新增jstson agx(by zineos)


20200616
编译版本,默认配置,android-ndk-r21d,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64,bitcode)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,bitcode,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64,bitcode)

adreno gpu image存储+fp16p/fp16s/fp16pa/fp16sa优化,在qcom855之前的高通芯片上默认启用,包括全部gpu shader
新增darknet转换器,支持yolov4和efficientnetb0-yolov3(by zhiliu6)
新增simplestl,可替代std::string/std::vector,默认不启用(by scarsty)
新增NCNN_LOGE宏,android自动在adb logcat输出信息(by maxint)
运行时生成spirv,大幅减小gpu库体积
新增python绑定链接
新增查询当前可用gpu显存接口
gpu fp16/fp32转换,buffer/image转换,全部融合入packing层
gpu device级别复用packing/unpacking管线
3d padding,新增blazeface benchmark(by Timen)
新增yuv420sp2rgbhalf快速实现(by tpoisonooo)
interp pack4 bf16s bf16s-pack4 neon优化
改善fbnetv2 hardsigmoid hardswish识别转换
修复ncnn作为sub project编译问题(by MarisaKirisame)
修复int8 pooling(by yx9527)
修复innerproduct arm sigmoid缺失的问题
修复mxnet slice None转换crop错误(by ddddwee1)
新增mish层(by zhiliu6)
新增swish层(by zhiliu6)
改善roialign detectron2转换兼容性(by wkcn)
新增语音相关的statisticspooling层(by Wang-Charles)
新增deepcopy工具层
改善mxnet gluon导出list类型参数的转换(by papercatnku)
改善onnx swish识别转换
更稳定的arm tanh_ps优化实现
cast bfloat16/float32转换的avx优化(by Timen)
ncnnoptimize合并scalar binaryop,包括sub/div
ncnnoptimize合并weighted sum
ncnnoptimize合并convolution + mish(by zhiliu6)
修正binaryop gpu special type 2/4的传播条件
修正ncnn2mem输出param.bin文件路径(by GuoxiaWang)
修复设置cpu affinity mask时可能的越界错误
修复老旧adreno/mali驱动image存储crash的问题
修复多国语系中param加载错误的问题
修复gpu convolution winograd在有shape hint时crop错误的问题
检查copy_cut_border参数(by tpoisonooo)
修正quantize文档的小错误(mengfu188)
树莓派4b benchmark(by elejke)
qcom865开启fp16计算功能
mali-t880/g51/g52/g71/g72开启fp16计算功能
更新qcom810/qcom660/qcom835/qcom855+/kirin970 benchmark数据
统一code style
单元测试新增全部op的image存储变种
github自动识别comp为GLSL
修复旧版vulkan-sdk编译(by xfan1024)
ios编译bitcode和native两种版本


20200413
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64,bitcode)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,bitcode,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64,bitcode)

bfloat16数据类型存储和算子优化实现,默认不启用,主要算子armv7/aarch64特化优化,packing布局的armv7/aarch64特化优化(包括BinaryOp/Cast/Clip/Concat/Convolution/ConvolutionDepthWise/Crop/Eltwise/Flatten/HardSigmoid/HardSwish/Innerproduct/Packing/Padding/Pooling/ReLU/ShuffleChannel/Sigmoid/Slice/TanH)
默认启用cpu packing_layout加速
Mat to_pixels/to_pixels_resize arm neon优化
mips算子优化absval/bias/clip/sigmoid/softmax/tanh(by nullptr-leo)
gpu shader按下标创建并自动获得specialization和pushconstant数量
android hardwarebuffer导入VkMat接口重构
为避免对齐问题,去除全部VkMat局部引用构造函数
VkMat和Command接口重构,去除staging成员,简化上传下载API
可指定cpu id的线程精准绑定接口
Mat PixelType 新增 BGRA 和相关转换类型
BinaryOp广播规则新增左值attention type 3/4
LSTM单向双向算子和onnx转换(支持chineseocrlite)
新增工具层DeepCopy
float32与bfloat16转换函数
命名enum类型(by caishanli)
benchncnn新增冷却时间开关(by kalcohol)
RK3288和RK3399 gpu开启fp16计算功能
visual studio 源码分组(by kalcohol)
修复innerproduct requant计算问题(by yx9527)
修复flatten gpu fp16p pack1to4/pack1to8某些shape运算错误
修复gpu非coherent显存不一致问题
改善onnx新版Pad/Resize/Clip/Slice转换兼容性
改善onnx hardsigmoid/hardswish识别转换
修复onnx模型某些BinaryOp输入丢失问题
docs文件夹自动同步wiki
单元测试增加到40个(by xieydd monkeyking)
单元测试增加gpu fp16p,gpu pack8和cpu bf16s变种
Travis CI新增arm32编译+单元测试+覆盖率
codecov代码覆盖率整合
ios编译开启bitcode
windows android库编译脚本(by kalcohol)
修复windows上的mingw编译(by qaz734913414)
cv::Mat与ncnn::Mat转换文档
高效roi/resize/rotate文档
protobuf安装问题FAQ(by tpoisonooo)
新增yolact实例分割例子


20200226
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

实现全部pack8 shader,默认不启用
shader存取宏改为function-style
所有gpu算子加载时会尝试读取shape hint并调整localsize
单元测试增加到30个
ncnnoptimize离线shape推断
实现pixelshuffle的cpu/gpu推理
onnx pixelshuffle转换
im2col将遵循sgemm_convolution选项开关
改善qcom adreno老驱动兼容性
qcom855/855plus开启gpu fp16a功能
chgemm和int-requant计算错误修复(by tpoisonooo)
cmake生成VS工程分组(by kalcohol)
量化工具默认加入编译(by kalcohol)
fp32/fp16 avx2优化(by zhiliu6)
avx2卷积计算错误修正(by zhiliu6)
很多很多算子的bug修复

20200106
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

pixel rotate api,8种90度角度旋转镜像翻转优化,支持stride参数和ROI
ncnn example model zoo提供下载
Mat from_pixels(_resize)/to_pixels(_resize)支持stride参数和ROI
android 8.0支持android hardware buffer转换vkmat
修复旧arm mali驱动兼容性问题
改善onnx prelu/flatten转换兼容性
pytorch normalize转换
normalize支持inplace
normalize vulkan
slice pack4优化
slice vulkan
per-channel padding
ncnnoptimizer删除无用的pooling 1x1s1
ncnnoptimizer删除无用的memorydata
修复deconvolution vulkan计算错误
修复pooling vulkan SAME pad, avgpool_count_include_pad
修复可能的 staging buffer data race
修正prelu gpu计算错误
优化yolov3 output性能
vulkan spatial attention broadcasting
修正fasterrcnn gpu fp16p计算错误
修正conv1x1s1 gpu fp16p计算错误
改善pytorch shufflenetv2模型转换
ci新增webassembly

20191113
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

pack内存布局推断neon优化(armv7+aarch64):conv1x1s1 conv1x1s2 conv3x3s1 conv3x3s1-winograd conv3x3s2 conv5x5s1 conv5x5s2 conv7x7s2 convdw3x3s1 convdw3x3s2 convdw5x5s1 convdw5x5s2 group-convolution/deconvolution pooling3x3s2-max pooling2x2s2-max padding relu hardsigmoid hardswish innerproduct reshape flatten shufflechannel
移除接口中的Option默认参数,预处理函数只使用1线程
mat输出新增颜色转换rgb2rgba/bgr2rgba/gray2rgba
新增android Bitmap与Mat直接转换函数
新增android Asset加载模型函数
新增NNIE ImageWatch插件
改善deconvolution pad/adj参数兼容性
新增Noop
新增convolution pad_value参数
unaryop vulkan实现tanh
修正radv驱动instancenorm crash
mxnet hardsigmoid/hardswish融合转换
onnx 1维batchnorm融合转换
onnx split转换
Reduction新增PROD/L1/L2/LogSum/LogSumExp以及keepdims参数
onnx ReduceMax/ReduceMin/ReduceMean/ReduceProd/ReduceSum/ReduceSumSquare/ReduceL1/ReduceL2/ReduceLogSum/ReduceLogSumExp转换
改善mxnet和onnx slice转换兼容性
onnx Unsqueeze/Squeeze转换
onnx Pooling ceil_mode转换
新增DataReader接口,方便从加密数据加载
修复某些手机无法识别大小核的问题
ncnnoptimize融合工具保留参数中的浮点精度
修复arm平台某些参数下im2col+gemm实现错误的问题
修复gpu推断使用fp16存储上传权重时可能的越界写问题
修复hisim100编译错误
int8 convolution winograd43精度提升
ncnn2table工具兼容性改善
ci新增windows-vs2017-gpu
cmake选项NCNN_DISABLE_PIC禁用PIC
新增retinaface人脸检测例子
新增mobilenetv3-ssd通用物体检测例子
benchmark新增shufflenet_v2
benchmark开启pack内存布局推断功能
新增android x86/x86_64预编译库


20190908


编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

搬运了很多很多wiki文档
新增实验性pack内存布局推断:absval batchnorm clip relu sigmoid packing convolution convolutiondepthwise innerproduct pooling flatten prelu scale dropout softmax binaryop deconvolution deconvolutiondepthwise concat eltwise cast split
新选项use_packing_layout控制是否cpu使用pack内存布局推理
conv1x1s1 pack4 sgemm arm neon优化
conv3x3s1 pack4 winograd arm neon优化
tanh arm neon优化
新增模型无finetune量化工具ncnn2table和readme(默认不编译)
ncnn2table新增swapRB参数
ncnnoptimize在armlinux自动卷积调优
ncnnoptimize自动删除binaryop前无用的reshape
新增hardsigmoid
新增selu,onnx 支持转换
新增hardswish
padding支持reflect模式
pooling avg新参数count_include_pad,mxnet/onnx支持转换
convolution deconvolution支持四个方向不等长padding
onnx autopad SAME_LOWER转换
deconvolution新参数output_adj和output_shape
onnx resize转换
onnx Div转换
mxnet BilinearResize2D转换
修正 mxnet onnx slice转换
pytorch onnx channelshuffle转换
pytorch onnx hardsigmoid hardswish转换
修正gpu多线程显存池共享问题
concat vulkan实现pack1to4 pack4to1to4
binaryop vulkan实现broadcast
instancenorm vulkan实现
crop vulkan实现pack1to4 pack4to1
可移植的thread/condition-variable类
添加hisiv600 hi3559V100工具链文件
cmake编译系统更新,头文件安装到include/ncnn
更新mobilenetv2_yolov3 benchmark
新增mobilenet_v3 benchmark
ncnn模型可在netron中可视化
新增人体关键点定位例子simplepose
更新android squeezencnn工程


20190611
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

新增算子融合工具 ncnnoptimize (bn + scale / conv + bn / deconv + bn / innerproduct + bn / conv + relu 等)
armv7/arm64 conv1x1s2
armv7/arm64 其他卷积的 sgemm 优化
int8 requantize 层融合实现全int8存储
修复旧版本 cmake openmp 兼容性
option api 变动,移除全局option
from_pixels_resize 越界读修正
x86 convolution avx2 优化
x86 convolution sse2 优化
interp resize bicubic 插值
gpu convolution/padding 支持 SAME pad
gpu conv1x1s1 优化
gpu conv3x3s1 winograd-f23 优化
gpu fp16 packed 优化,支持全部gpu
gpu fp16 storage 优化,支持绝大多数桌面gpu
gpu fp16 arithmetic 优化,默认关闭
允许创建自定义 vulkan compute pipeline 并嵌入推断过程
gpu 各层耗时统计
vulkan layer 架构调整
gpu fp16p fp16s fp16a int8s in8a 控制开关
更简单的多卡 gpu 设置 api
新的分割例子 pelee ssd segmentation
benchmark fp32 算子融合

20190320
编译版本,默认配置,android-ndk-r18b,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)

新增实验性gpu推断:AbsVal, BatchNorm, BinaryOp(no broadcasting), Clip, Concat, Convolution(pad -233 not supported), ConvolutionDepthWise(pad -233 not supported), Crop, Deconvolution, DeconvolutionDepthWise, Dropout, Eltwise, Flatten, InnerProduct, Interp, LRN, Packing, Padding, Permute, Pooling(pad SAME not supported), PReLU, PriorBox, ReLU, Reorg, Reshape, Scale, ShuffleChannel, Sigmoid, Softmax, TanH, UnaryOp
支持gpu/cpu混合推断
无溢出的int8卷积计算
精度更好的int8量化方法
element packing数据存储
conv3x3s1 int8 aarch64优化
conv3x3s2 int8 armv7/aarch64优化
conv1x1s1 int8 aarch64优化
convdw3x3s1 int8 aarch64优化
convdw3x3s2 int8 aarch64优化
修正armv7-without-neon编译
example例子全部支持gpu运算
兼容onnx/mxnet的upsample和slice转换
squeezencnn增加gpu识别按钮
benchmark新增gpu推断
benchmark新增resnet50以及int8模型

1.13

pnnx现已支持在cpu上加载gpu导出的torchscript
pnnx保存onnx-zero模型文件
pnnx转换时将常量存储在临时文件减少内存占用
pnnx新增命令行参数fp16=0/1控制是否用fp16保存onnx-zero/ncnn模型
pnnx支持大部分数学函数转换,新增nn.Softmax2d/nn.Fold/nn.Unfold/F.fold/F.unfold/bitwise_left_shift/bitwise_right_shift转换
pnnx改善和匹配inplace slice copy操作
融合更多静态的F.convND/F.linear为nn module
合并临接的reshape
合并pad到conv中
改善pnnx F.softmax转换对dtype兼容性(EdVince)
修正pnnx softmax/normalize/slice负数axis转换错误的问题
修正pnnx slice end下标错误问题
修正pnnx转ncnn保存fp16权重没考虑对齐的问题
pnnx遇到动态size时不再折叠为常量
pnnx自动折叠new_full/full_like
yolov5示例支持yolov5 6.2(shaoshengsong)
修复编译警告(tpoisonooo veahow)
删除无用空行(MollySophia Menci)
修正空格对齐(tonori)
修正拼写错误(LRY89757 Zepan eltociear)
忽略.xmake目录,CMakeSettings.json,Visual Studio CMake文件(zchrissirhcz)
重构README(septs)
改善README布局(magicse)
添加一些示例项目链接(magicse shaoshengsong)
faq新增有关禁用fp16设置的内容(MisakaBit)
更新riscv rvv ci
新增c906 ci
新增loongarch64 lsx ci
迁移部分github action ci到腾讯ci
新增TH1520 cmake toolchain(luyanaa)
切分大型单元测试加快多进程测试速度
新增Intel Celeron M 420跑分(MouriNaruto)
新增T-Head TH1520跑分(YuzukiTsuru)
新增rock5b rk3588跑分(hwdef)

New Contributors
* LinHeLurking made their first contribution in https://github.com/Tencent/ncnn/pull/4065
* septs made their first contribution in https://github.com/Tencent/ncnn/pull/4114
* w8501 made their first contribution in https://github.com/Tencent/ncnn/pull/4173
* MollySophia made their first contribution in https://github.com/Tencent/ncnn/pull/4187
* Menci made their first contribution in https://github.com/Tencent/ncnn/pull/4188
* magicse made their first contribution in https://github.com/Tencent/ncnn/pull/4193
* tonori made their first contribution in https://github.com/Tencent/ncnn/pull/4217
* YuzukiTsuru made their first contribution in https://github.com/Tencent/ncnn/pull/4240
* ZhangGe6 made their first contribution in https://github.com/Tencent/ncnn/pull/4236
* MisakaBit made their first contribution in https://github.com/Tencent/ncnn/pull/4248
* LiuYi-Up made their first contribution in https://github.com/Tencent/ncnn/pull/4259
* veahow made their first contribution in https://github.com/Tencent/ncnn/pull/4274
* csukuangfj made their first contribution in https://github.com/Tencent/ncnn/pull/4283
* Zepan made their first contribution in https://github.com/Tencent/ncnn/pull/4287
* bestpower made their first contribution in https://github.com/Tencent/ncnn/pull/4294
* shaoshengsong made their first contribution in https://github.com/Tencent/ncnn/pull/4328
* junchao-loongson made their first contribution in https://github.com/Tencent/ncnn/pull/4242
* eltociear made their first contribution in https://github.com/Tencent/ncnn/pull/4358

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20220729...20221128

20220729
编译版本,默认配置,android-ndk-r24,xcode 12.4,ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

batchnorm avx512 优化(LRY89757)
新增DeformableConv2d层和单元测试(miemie2013)
修复conv3x3 winograd tensorcore权重数据错乱导致结果出错的问题
修复memorydata 4维数据转换的问题
pnnx转换torchvision.ops.DeformConv2d到ncnn
pnnx自动删除无用的 mul + torch.ones 和 add + torch.zeros
pnnx修复动态shape时删除无用pad可能的崩溃问题
pnnx修复动态shape时错误删除upsample的问题
添加sse优化文档(DC-Zhou)
更加严格的编译器riscv vector支持检查,删除rvv-0.7.1编译支持
更新ci中android ndk路径,使用android-ndk-r24打包

New Contributors
* DC-Zhou made their first contribution in https://github.com/Tencent/ncnn/pull/4053
* miemie2013 made their first contribution in https://github.com/Tencent/ncnn/pull/4070

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20220721...20220729

20220721
编译版本,默认配置,android-ndk-r23c,xcode 12.4,ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

armv5 convolution gemm int8优化
armv6 dsp convolution gemm int8优化
armv6 dsp convolution int8 winograd优化
mips msa/loongson mmi convolution int8 winograd优化
armv8.4 i8mm convolution gemm int8优化
探测编译器armv8.4/armv8.6的支持情况
优化innerproduct fp16s权重转换的内存消耗
统一arm eltwise不同elempack的分支
修复多线程下arm rnn/gru/lstm计算结果错误的问题
修复android-ndk-r16b编译多线程运行报错的问题
loongarch架构强制识别为mips以提升性能(HougeLangley)
修复非常老版本的gcc编译错误
Mat创建时检查OOM
修复在android api 26编译找不到vkGetAndroidHardwareBufferPropertiesANDROID符号的问题
修复x86 fp32转fp16可能存在的内存泄漏

1.12

pnnx识别torchscript文件格式并输出报错
pnnx转换torch.tensor_split
pnnx合并多次同轴slice为tensor_split,修正插入位置
pnnx去除无用的一倍upsample
pnnx转ncnn时合并多个BinaryOp为加权求和Eltwise
pnnx合并megvii风格的shufflechannel+slice
添加pkgconfig(djdisodo)
优化检测示例后处理nms(jedi007)
example检查加载模型返回值(zchrissirhcz jedi007)
添加Loongson2F toolchain(luyanaa)
添加君正x2000 toolchain
添加ncnn svg图标(ArchieMeng)
改善protobuf FAQ文档(tpoisonooo)
README添加ncnn-android-yolov7(xiang-wuu)
添加yolov7示例(cmdbug)
添加yolov7_pnnx示例(hariag)
benchmark新增fastestdet模型(dog-qiuqiu)
新增armv8.6 ci和coverage
新增x86无sse ci
新增x86 address sanitizer ci

New Contributors
* djdisodo made their first contribution in https://github.com/Tencent/ncnn/pull/3984
* jedi007 made their first contribution in https://github.com/Tencent/ncnn/pull/4001
* xiang-wuu made their first contribution in https://github.com/Tencent/ncnn/pull/4038
* ArchieMeng made their first contribution in https://github.com/Tencent/ncnn/pull/4037
* HougeLangley made their first contribution in https://github.com/Tencent/ncnn/pull/4044

**Full Changelog**: https://github.com/Tencent/ncnn/compare/20220701...20220721

20220701
编译版本,默认配置,android-ndk-r23c,xcode 12.4,ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,vs2015,vs2017,vs2019,vs2022,emscripten-2.0.8
| file | content | arch |
|---|---|---|
|ncnn-full-source.zip |包含全部 submodule 代码的完整源码 | |
|ncnn-android.zip | android 静态库/动态库 | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-android-vulkan.zip | android 静态库/动态库,支持 GPU | armeabi-v7a + arm64-v8a + x86 + x86_64 |
|ncnn-ios.zip | ios 静态库,with and w/o bitcode | armv7 + arm64 + arm64e + i386 + x86_64 |
|ncnn-ios-vulkan.zip | ios 静态库,支持 GPU,with and w/o bitcode | arm64 + arm64e + x86_64 |
|ncnn-macos.zip | macos 静态库 | x86_64 + arm64 |
|ncnn-macos-vulkan.zip | macos 静态库,支持 GPU | x86_64 + arm64 |
|ncnn-ubuntu.zip | ubuntu linux 静态库/动态库,支持 GPU,模型转换工具 | x86_64 |
|ncnn-windows.zip | windows 静态库/动态库,支持 GPU,模型转换工具 | x86 + x86_64 + arm + arm64 |
|ncnn-webassembly.zip | webassembly 静态库 | wasm32 + simd + threads + simd-threads |

x86/arm/mips/risc-v/vulkan 去除无用的权重内存占用
改善x86/arm/mips/risc-v winograd卷积选择策略,独立出dot函数
合并逐元素运算算子不同elempack的实现
x86 sse/avx bnll/tan优化(jasonZhang892)
x86 avx512 tanh优化(jasonZhang892)
x86 winograd 输入变换函数优化
x86 sse/avx convolution winograd23/42 pack1优化
x86 f16c innerproduct fp16s优化
arm neon tan/arcsin/arcos优化(jasonZhang892)
改善arm sgemm卷积的选择策略
arm neon pooling bf16s优化
arm neon innerproduct汇编优化
armv7 vfpv4编译探测和运行时检测
armv7 vfpv4 cast fp16优化
armv7 vfpv4 innerproduct fp16s优化
armv5 sgemm卷积优化
mips msa cast fp16优化
mips sgemm卷积/convdw3x3优化
mips msa innerproduct fp16s优化
loongson mmi convolution gemm int8优化
risc-v vector erfc和gelu优化(thelastlin)
优化sgemm和winograd尾尺寸寄存器布局
risc-v sgemm/winograd卷积/innerproduct/convdw3x3优化
avx512bf16/avx512fp16编译探测和运行时检测
avx512bf16/avx512fp16 cast bf16/fp16优化
armv8.2 asimdfhm,armv8.4 bf16 i8mm,armv8.6 sve sve2编译探测和运行时检测
新增einsum层实现和对应的pnnx转换
simpleomp支持libgomp abi
layernorm支持一维输入和沿w做norm
rnn/lstm/gru支持openmp多线程加速
mali-t760启用fp16运算
更多的binaryop arm/mips/riscv/x86特化实现
修复unaryop_x86 gcc-4.4编译问题(Yoh-Z)
修复Mat fill gcc-4.4编译问题(Yoh-Z)
添加Power层单元测试(proydakov)
yolov5_pnnx示例自动适应不同的num_class数量(FeiGeChuanShu)
修正yolox输入shape w!=h的情况(FeiGeChuanShu)
修复armv7中fp16转fp32发生bus error的问题(cugxchen)
修复convdw/deconvdw的avx512代码路径(Yoh-Z)
修复imreadwrite中total可能的溢出问题(Z841973620)
去除scale_x86中无效的死代码(luyanaa)
去除pnnx ir中无效的死代码(moozae)
修正test_deconvolutiondepthwise3d中printf参数错误(Nlzy)
修复mips架构上cmake寻找thread的错误
修复在不支持cooperative matrix扩展测试崩溃的问题
改善risc-v vector vfredsum/vfredusum编译器兼容(thelastlin)
修复某些arm编译器循环优化劣化的问题
更新glslang,修复在使用系统glslang的include路径问题
拆分arm82源码到单独文件,减小编译体积和内存占用
修复ios universal arm82编译开关启用的问题
统一winograd函数命名
修复padding arm编译警告
修复ios/tools/arm82/non-int8编译警告(proydakov)
修复LGTM警告(proydakov)
pnnx支持转换torch bmm/min/max/einsum/arange/bitwise_and/bitwise_not/bitwise_or/bitwise_xor/eq/gather/ge/gt/le/lt/ne/norm/index_select/scatter_add/complex/imag/real/fft/fft2/fftn/hfft/hfft2/hfftn/ifft/ifft2/ifftn/ihfft/ihfft2/ihfftn/irfft/irfft2/irfftn/rfft/rfft2/rfftn,Tensor new_ones/new_zeros/masked_fill,F.normalize一维情况
pnnx ir支持复数数据类型
pnnx支持转换Tensor select到ncnn
新增pnnx导出为onnx函数
pnnx导出ncnn fp16存储设计为一个pass
pnnx添加更多hardsigmoid合并模式
pnnx合并multiheadattention的尾部unpack
pnnx在静态shape输入时能有效的折叠常量
pnnx合并静态权重的卷积F.convND为nn.ConvND
修复pnnx生成slice表达式遇到动态参数崩溃的问题
pnnx支持dict作为模型输出的转换
pnnx转换ncnn模型遇到4d/5d输入nn.Linear自动添加reshape
pnnx去除单输入的cat算子
pnnx在合并表达式时跳过可折叠的常量
pnnx兼容更多inplace风格的算子,改善子图匹配浮点和整数比较
pnnx导出moduleop时存出所有内部权重
pnnx添加vit_b_32和convnext端到端模型测试
pnnx添加swin_transformer模型测试
gitignore添加python生成的文件(triple-Mu)
添加c906和c910 v240 toolchain
迁移pnnx,loongarch和gpu的ci到自建服务器
修复loongarch ci
添加avx512 spr cpu ci
更新ci的qemu版本
cmake安装目标路径采用gnuinstalldirs
限制github action配置的权限(nathannaveen)
ci的swiftshader使用单线程
修复vs2022 ci中protobuf兼容问题
添加关于关闭android界面和设置cpu/gpu性能模式的信息
更新README中QQ群信息(zchrissirhcz)
README中的YOLOV改为YOLOv(zhiqwang)
更新树莓派和d1的编译文档
更新添加自定义算子文档的过时信息(LRY89757)
添加英文版faq文档(Jianbo-Ning)
添加英文版build-for-visualstudio文档(dankernel)
添加vision_transformer benchmark(tpoisonooo)
更新rk3399 rk3288 gpu benchmark数据
更新qcom810 qcom855plus benchmark数据
添加Jetson AGX Orin/Jetson AGX Xavier/AX620A benchmark数据(BUG1989)
添加loongson和sunway benchmark数据(wzyforgit)
添加RK3588 benchmark数据(FeiGeChuanShu)
添加amd 5700g benchmark数据(hwdef)

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.