计算效率对比(MATLAB代码)
Parfor 函数
matlab 调用并行计算,主要是将 for 语句写成 parfor. 关于如何使用 parfor 并行,网上有一大堆教程,这里不再赘述。下面是相关链接:
https://www.cnblogs.com/noah0532/p/8648317.html
https://blog.sina.com.cn/s/blog_866e7fa70101cv08.html
https://blog.csdn.net/qq_40368490/article/details/126645056
...
本地电脑测试
电脑有 12 个线程: Number of workers: 12.
这是电脑配置

不难发现,资源监控器开了 12 个 MATLAB 进程

服务器测试
服务器一个节点有 36 个核,我们同时运行 36 个进程进行测试
测试代码见附件
测试结果如下

输入 top 查看进程:

附件
点击查看 test.m 代码
tic
n = 1200;
A = 500;
a = zeros(n);
for i = 1:n
a(i) = max(abs(eig(rand(A))));
end
toc
点击查看 test_par.m 代码
p = parpool('local',36);
clear;
tic
n = 1200;
A = 500;
a = zeros(n);
parfor i = 1:n
b = sample(A);
a(i) = b;
end
clear b;
toc
delete(gcp('nocreate'));
function [a] = sample(A)
a = max(abs(eig(rand(A))));
end

浙公网安备 33010602011771号