Matlab GPU矩阵求特征值计算

GPU求特征值的使用方法

clear all
clc
M = rand(2000,2000);            % 生成一个随机矩阵
tic
[A1,B1] = eig(M);                    % 求该随机矩阵的特征值和特征向量
t1=toc
 
tic
M = single(M);                     % 将数据转换为单精度型
M = gpuArray(M);                % 将数据从CPU中搬到GPU
[A2,B2] = eig(M);                 % 求特征值和特征向量
A2 = gather(A2);                 % 将数据从GPU中搬到CPU
t2 = toc

GPU和CPU性能比较测试

clear
clc
% gpuDevice;%查看gpu设备
size_ = 1000;
T1=zeros(10,1);
T2=zeros(10,1);
for i=1:10
    i
    size = i*size_;
    M = rand(size,size);            % 生成一个随机矩阵
    M=M*M';                         % 实对称矩阵
    M = single(M);                  % 转换单精度
    tic                             % 开始计时
    [A1,B1] = eig(M);               % 求该随机矩阵的特征值和特征向量
    t1 = toc;                       % 停止计时
    T1(i,1) = t1;
    tic
    M = single(M);                  % 将数据转换为单精度型
    M = gpuArray(M);                % 将数据从CPU中搬到GPU
    [A2,B2] = eig(M);               % 求特征值和特征向量
    A2 = gather(A2);                % 将数据从GPU中搬到CPU
    t2 = toc;
    T2(i,1) = t2;
end

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值