VS2012上使用intel mkl矩阵

DNN计算时会用到大量矩阵计算,对比过向量化加并行以及mkl,发现mkl在速度上要快。

下面就总结下vs2012上使用mkl的方法。


1.安装完vs2012再安装intel编译器(网上能下到),intel编译器会自动集成到vs2012中(安装的时候注意一下就行了)。


2.编译程序时使用intel编译器,配置属性->General->Platform Toolset:Intel C++ Compiler XE 13.0


3.配置属性->Intel Performance Library:Use MKL选择Parallel标志将使用mkl的并行化。



默认情况下mkl会开启足够的线程来进行矩阵运算,这个线程数目依赖于机器的核心数,当然你也可以使用mkl提供的接口函数来手动修改mkl线程数:mkl_set_num_threads(2)表示开启两个线程来做;mkl_set_dynamic(3)表示动态设置线程数,这里就是最多使用三个线程。
业务需要多路并发的情况下,建议手动设置mkl的线程数,因为任由编译器自己来设置,可能导致线程等待比较严重。比如机器核心为18核心,业务开启5路,可以手动设置mkl线程数为2-4。
在AMD和intel处理器上分别测试mkl性能,发现在intel上的效率优于amd不少,大家懂的。。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值