VS2012上使用intel mkl矩阵

来源:互联网 发布:数据库服务器地址 编辑:程序博客网 时间:2024/05/18 01:00
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不少,大家懂的。。
0 0
原创粉丝点击