MKLDNN推理加速技术简介

本文介绍了MKLDNN,一个针对Intel处理器和GPU优化的深度学习加速库,用于提升神经网络推理速度。重点讲解了卷积计算优化、分块数据排布和层融合技术,并通过实验验证了这些技术的效果。MKLDNN是X86 CPU推理加速的优秀工具,对其他硬件优化也有参考价值。
摘要由CSDN通过智能技术生成

深度学习在进行推理时,很多应用场景在对硬件有一定限制的情况下,对推理速度还有比较高的要求,如移动端的人脸识别与语音语义识别、安防领域的烟雾报警等。在这些领域中,推理速度的快慢不但直接影响着软件效果与体验,而且也决定着一款产品能否获得更加广阔的市场。因此,如何对深度学习推理进行优化以获得更快的推理速度,也已成为目前人工智能领域最为火热的方向之一。

当前对推理进行加速时,主要有模型加速以及推理运行时加速两个方面。在模型加速方面,目前比较主流的技术有模型压缩、剪枝和量化等;在推理运行时加速方面,针对不同硬件或者应用场景,各大厂商都推出了自己的推理加速库或运行时,来更好地为自家硬件以及产品服务执行,比如X86 CPU执行的OpenVINO,Tf serving,ARM CPU上的TF Lite,移动端CPU上腾讯的NCNN,NVIDIA GPU上的TensorRT。本文将要介绍的MKLDNN库,即是Intel公司针对自身CPU以及GPU设计的深度学习加速库,能够成倍地提升神经网络在Intel CPU以及GPU下的推理速度,目前在Adlik集成的OpenVINO运行时中就使用到了MKLDNN。以下便对该库以及其实现的推理加速技术进行简单介绍。

01

MKLDNN介绍

1. MKLDNN简介

MKLDNN是一个深度学习底层库,该库主要针对英特尔处理器、英特尔图形处理器以及Xe图形处理器,对深度神经网络进行op级以及指令集级的优化。在使用MKLDNN进行训练或者推理时,其使用JIT(Just In Time)代码生成技术,根据神经网络op的参数以及后端硬件支持的指令集,生成优化后的代码,以提高神经网络在指定硬件,特别是英特尔CPU和GPU上的执行速度。当前主流的深度学习框架,如TensorFlow、PyTorch等,都集成了MKLDNN库,通过在编译时加入编译选项,使能MKLDNN库,便能够使用该库对深度神经网络的训练以及推理进行加速。

2. MKLDNN特殊优化指令集介绍

在MKLDNN中,其对于以下指令集进行了专门的优化:Intel SSE4.1、AVX、AVX2、AVX-512以及Intel DL Boost。在其开源代码中,可以看到对于计

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux基金会AI&Data基金会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值