使用mkldnn为cpu运行网络加速

最近要在用crnn,跑的pytorch模型,本来在gpu跑的好好的,但是后来由于各种原因,需要在cpu上跑,才发现cpu上跑的是真的慢,后来发现了mkldnn这个东西,这是intel开发的开源项目,就是针对cpu上运行神经网络做了一些并行优化。

用了以后,大概速度快了7,8倍吧,效果还是比较明显的。

mkldnn的github链接: https://github.com/intel/mkl-dnn
安装过程基本没发现太多问题,按照README上一步一步走就行了:

git clone https://github.com/intel/mkl-dnn.git
cd scripts && ./prepare_mkl.sh && cd ..
mkdir -p build && cd build && cmake $CMAKE_OPTIONS .. && make
make test
make doc
make install

编完以后,直接跑一下程序,并没有什么卵用……看来还需要一些步骤把mkldnn与pytorch “连接”起来。看了一下mkldnn,基本上就是提供了一个c++的借口和一些lib库,所以,要么pytorch已经做了相关处理,到时候只要添加个环境变量之类的就可以,要么就是我要重编pytorch,build工程的时候就把相关库一起编进去。找了找,没发现啥要添加的环境变量,就重编吧。

跑到一半会发现打印编译信息:

发现MKLDNN选项打开了,放心等就ok了~

编完以后就直接可以用了,至于其他工具,估计也是差不多的步骤,如果以后用到了,再补充吧~

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值