amd与matlab,AMD CPU在MATLAB上的表现实测

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%\bin\mklvars.bat" MKL_DEBUG_CPU_TYPE=5

matlab.exe

方法二 修改环境变量

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

7c4f65fad63d2dc05f8f166c42767c62.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值