为什么 MATLAB 的矩阵运算能力强?

论坛 期权论坛 study     
匿名的用户   2019-6-10 00:47   8255   3
分享到 :
0 人收藏

3 个回复

倒序浏览
2#
热心的回应  16级独孤 | 2019-6-10 00:47:13 发帖IP地址来自
这种问题看到了很多,大部分情况是,自己用C/C++手写了一个矩阵运算的程序,与MATLAB一对比,发现速度差的不是一点半点。然后跑来提问,为啥MATLAB的矩阵运算这么快?
一句话回答,MATLAB使用了BLAS,LAPACK等高度优化的数学矩阵运算库。而这些数学计算库,又经过了CPU制造商(Intel/AMD)、操作系统开发商(Sun)的高度优化实现,实现了线程优化、并行计算、分布式计算等等,运算速度当然不能与普通人手写的C/C++程序相比。
对于Intel CPU,使用的是Intel Math Kernel Library(MKL)数学运算库。在矩阵运算方面,MKL底层使用的是BLAS, LAPACK等等。
https://software.intel.com/en-us/mkl-windows-developer-guide对于AMD CPU,使用的是AMD Core Math Library (ACML)数学运算库,在矩阵运算方面,ACML底层使用的也是BLAS,LAPACK等等。
Building with ACML - AMD在Solar系统中,MATLAB使用Sun Performance Library运算库,底层使用的也是BLAS,LAPACK等等。
Sun Performance Library
3#
热心的回应  16级独孤 | 2019-6-10 00:47:14 发帖IP地址来自
不是MATLAB运算能力强
是BLAS接口和一系列实现(cuBLAS,MKL之类)和其他别的数学库(cu全家桶,包括不限于cuFFT,cuDNN,cuRAND,cuda)运算能力强
4#
热心的回应  16级独孤 | 2019-6-10 00:47:15 发帖IP地址来自
MATLAB本身就是为了解决线性代数有关问题。创始人是一位数学老师。
你说它的矩阵运算能力强不强。
并且,它的全名是matrix laboratoty就是矩阵实验室。
你说它的矩阵运算能力强不强?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:32080
帖子:6440
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP