c/c++语言开发共享AMD CPU在MATLAB上的表现实测

硬件平台:AMD 3700x、16g 3200内存


AMD Ryzen 7 3700X

MATLAB R2019a(9.6.0.1072779)

 

测试项目

矩阵计算

首先,来编写一段性能测试程序,主要的测试项目有矩阵乘法、稀疏矩阵、逆矩阵、FFT、LU、QR、奇异值分解、特征值与特征向量,每项测试进行三遍取均值。

%%%%%%%%%%%%   MATLAB纯CPU性能测试   %%%%%%%%%%% %%%%%%%%%%%%   Haotian_W SEPT 2020  %%%%%%%%%%% clear, clc A = rand(3e3); B = rand(3e3); num = 3; T = zeros(8,num); for i = 1:num     % Test1 乘法     tic, X1 = A*B; T(1,i) = toc;     % Test2 稀疏矩阵     tic, X2 = sparse(A); T(2,i) = toc;     % Test3 逆矩阵     tic, X3 = inv(A); T(3,i) = toc;     % Test4 快速傅里叶     tic, X4 = fft(A); T(4,i) = toc;     % Test5 LU分解     tic, [L5,U5,P5] = lu(A); T(5,i) = toc;     % Test6 QR分解     tic, X6 = qr(A); T(6,i) = toc;     % Test7 奇异值分解     tic, [U7,S7,V7] = svd(A); T(7,i) = toc;     % Test8 特征值与特征向量     tic, [V8,D8] = eig(A); T(8,i) = toc; end % 各项测试平均时间 t = sum(T,2)./num; disp(['Multiplication :   ' sprintf('%6f',t(1))]) disp(['Sparse         :   ' sprintf('%6f',t(2))]) disp(['Inverse        :   ' sprintf('%6f',t(3))]) disp(['FFT            :   ' sprintf('%6f',t(4))]) disp(['LU             :   ' sprintf('%6f',t(5))]) disp(['QR             :   ' sprintf('%6f',t(6))]) disp(['SVD            :   ' sprintf('%6f',t(7))]) disp(['Eigen          :   ' sprintf('%6f',t(8))]) % Total total = sum(t); disp('----------------------------') disp(['Total          :   ' sprintf('%6f',total)])   % https://blog.csdn.net/BAR_WORKSHOP/article/details/108224394
% i5-7400 R2017a  Multiplication :   0.412246 Sparse         :   0.083916 Inverse        :   0.779796 FFT            :   0.080855 LU             :   0.379976 QR             :   0.416257 SVD            :   13.316459 Eigen          :   20.372446 ---------------------------- Total          :   35.841952
% AMD 3700X  R2019a 优化前  Multiplication :   0.758483 Sparse         :   0.047772 Inverse        :   1.036525 FFT            :   0.030290 LU             :   0.336546 QR             :   0.501219 SVD            :   6.163582 Eigen          :   12.077816 ---------------------------- Total          :   20.952232  % 在没有优化的R2019a中,3700X部分项目甚至还没有i5-7400快
% AMD 3700X  R2019a  优化后  Multiplication :   0.185732 Sparse         :   0.047977 Inverse        :   0.257886 FFT            :   0.022052 LU             :   0.117283 QR             :   0.172766 SVD            :   3.998370 Eigen          :   7.863378 ---------------------------- Total          :   12.665444

方法一 批处理启动

在cmd中输入以下命令运行matlab。

    @echo off	     set MKL_DEBUG_CPU_TYPE=5	     call "%MKLROOT%binmklvars.bat" MKL_DEBUG_CPU_TYPE=5	     matlab.exe

 

方法二 修改环境变量

在控制面板里找到“编辑系统环境变量”,选择“高级-环境变量”,找到或者新建 MKL_DEBUG_CPU_TYPE,值为 5。和上面的不同是,修改完环境变量后会影响所有使用MKL的程序。

AMD CPU在MATLAB上的表现实测

c/c++开发分享AMD CPU在MATLAB上的表现实测地址:https://blog.csdn.net/BAR_WORKSHOP/article/details/108224394

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/597592.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐