VS2012上使用intel mkl矩阵

机器学习 2701 浏览

请输入图片描述 下面就总结下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不少,大家懂的。。

关注微信公众号 "Kooola大数据" :) 聊人生 | 聊技术