VS2012上使用intel mkl矩阵

本文介绍如何在Visual Studio 2012中利用Intel MKL库提升深度神经网络(DNN)计算性能。通过安装Intel编译器、配置VS2012使用Intel编译器及MKL并行化选项,实现矩阵计算加速。此外,还讨论了如何根据业务需求调整MKL线程数以优化多路并发场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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不少,大家懂的。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值