[转]矩阵运算优化问题

form https://www.zhihu.com/question/19706331

(一) MKL库问题

作者:过拟合
链接:https://www.zhihu.com/question/19706331/answer/25255444
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

MATLAB的矩阵计算使用的是Intel自己出的Math kernel library(MKL),这个库远比其他的blas/lapack库要快。C快在循环,要想矩阵计算也和MATLAB一样快,那就得链接MKL,写起来免不了各种折腾。而且,即使你链接上了,编译时各种优化选项之类的还是比不上人家专业的设定,速度很难接近MATLAB。
我自己在Gentoo上试过源里的所有blas/lapack库,无一能与MKL匹敌,而且连接近都不可能。甚至我把python的NumPy库链接上MKL后,速度也只是勉强接近。由于Gentoo的MKL库永远是最新的,而每一个新版本的MKL库对矩阵计算都有略微提升,导致可能暂时NumPy与MATLAB可以匹敌。但是一旦更新版本的MATLAB出来后,它会使用上更新的MKL库,这种领先优势就又丧失殆尽。你可以在MATLAB文档搜索中输入MKL,这样会被定位到MATLAB release notes,而里面就会含有这么一句话“Upgrade to Intel Math Kernel Libraries”,这就是每一个版本MATLAB矩阵计算都越发变态快的原因。
当然&#
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值