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


文章来源于腾讯云开发者社区,点击查看原文