ncnn是腾讯开源的手机端极致优化的高性能神经网络前向计算框架。
https://github.com/Tencent/ncnn
Vulkan是一个低开销、跨平台的3D图形与计算的API标准。
https://www.vulkan.org/
相较于基于cuda/cudnn的GPU加速方案,Vulkan具有更好的兼容性和可移植性,分发时二进制体积小等特点。
01
cuda
仅支持 Windows/Linux
仅支持 nvidia GPU
运行库体积庞大,1GB+,
且依赖特定的驱动版本
02
vulkan
支持平台 Windows/Linux
/macOS/Android/iOS
支持 GPU intel
/amd/nvidia/apple/qcom/mali
仅依赖系统显卡驱动,无额外依赖
近期,ncnn发布了20220420版本,基于Vulkan API对GPU推理做了大量优化,让神经网络在GPU推理更快。
实现 convolution implicit gemm
实现 deconvolution gemm+col2im
融合 winograd transform 与 padding
改善 winograd convolution 选择策略
拆分 innerproduct 为两步骤提高并行度
运用 shared memory 优化访存性能
运用 nvidia tensorcore Vulkan
扩展优化矩阵乘
修复最新 MoltenVK 兼容性问题
VapourSynth,SVP,FlowFrames,Video2x等项目集成了基于ncnn Vulkan实现的视频超分补帧功能,帮助内容创作者生成高画质的视频。更新到最新版ncnn后,不少用户发现这些AI应用ncnn版甚至比PyTorch cuda版更快了。
ncnn 20220420版本下载地址(linux/windows/macos/android/ios/webassembly,cpu+gpu)
https://github.com/Tencent/ncnn/releases/tag/20220420
03
ncnn 20220420版本的
其他更新
x86 avx512 优化
mips msa int8 优化
新支持 Windows ARM
新支持龙芯 LoongArch 架构
测试平台:RTX2070,Linux x86_64
测试平台:RK3399,Android aarch64
最后,欢迎点击下方链接或左下角“阅读原文”访问ncnn项目主页,看README加ncnn技术交流QQ群,与一线工程师和众多大佬直接交流。
https://github.com/Tencent/ncnn