编译版本,默认配置,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)
release添加ubuntu 22.04预编译包
release android采用ndk-r23c编译
release预编译包保护软链接
New Contributors
- @LRY89757 made their first contribution in #3741
- @nathannaveen made their first contribution in #3758
- @Z841973620 made their first contribution in #3757
- @Nlzy made their first contribution in #3774
- @cugxchen made their first contribution in #3779
- @luyanaa made their first contribution in #3821
- @triple-Mu made their first contribution in #3824
- @Jianbo-Ning made their first contribution in #3901
- @moozae made their first contribution in #3965
Full Changelog: 2022042...2022070