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的程序。
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