在M1测试计算性能

7视图(30天)
Marko
Marko 2021年6月29日
评论道: 本尼Hartwig2021年8月2日
你好,社区,
这是一个脚本测试M1性能解决计算问题。(需要并行计算工具箱)
%这个脚本对奇异值分解)的大小1到N。
%也检测到的最大线程数和确定平行
%效益。
% %清晰定义环境
清晰的所有,删除(gcp (“nocreate”));clc;
% %检测最大线程
core_info = evalc (“功能(“numcores”)”);
maxThreads = str2num (core_info (53));
disp ([“simultanously线程的最大数量:”num2str (maxThreads)])
% %定义最低problemsize N泵提醒每一个线程
N = smallest_multiple (max (maxThreads 8));
对不同% N增加到大约1000
%如果N < 1000
% N =装天花板(1000 / N) * N;
%结束
disp ([的问题大小为N = 'num2str (N)))
% %基准
结果= kron (1: maxThreads, (1 0 0) ') ';
k = 1: maxThreads
y = 0 (N, 1);
myCluster = parcluster (“本地”);
myCluster。NumWorkers = k;%现在真正的“修改”属性
saveProfile (myCluster);
% evalc (“parpool(“本地”,k) ');
抽搐
parforn = 1: n
y (n) = max(圣言(randn (n)));
结束
结果(k, 2) = toc;
disp ([“问题解决”num2str (k),“的”
num2str (maxThreads),的线程完成的num2str(结果(k, 2)),“年代”])
evalc (“删除(gcp (“nocreate”))”);
结束
% %呈现结果
clc;
结果(:,3)=(1、2)结果。/(结果(:,2)。*结果(:1));
disp (| #线程时间年代|效率)
disp(结果)
% %替代最小的多种解决方案
% https://de.mathworks.com/matlabcentral/answers/386271-write-a-function-called-smallest_multiple answer_319994
函数r = smallest_multiple (k)
r = 1;
n = 1: k
r = r * (n /肾小球囊性肾病(r, n));
结束
结束
有人能运行脚本,输出?
我不明白坏性能:
#线程|时间年代|效率
1.0000 93.1989 1.0000
2.0000 80.0887 0.5818
3.0000 76.6610 0.4052
4.0000 87.3170 0.2668
5个评论
本尼Hartwig
本尼Hartwig 2021年8月2日
嗨,马克,
非常感谢你的提示。我设法连接M1迷你8 gb所有八个核心和再次运行基准测试运行。然而,我需要做出一些改变的运动来更好地理解性能:
N = smallest_multiple (max (maxThreads 8)) * 1000 * 5%增加循环的大小
evalc (“parpool(“本地”,k)”);%激活前抽搐toc(否则稀释时间保持)
parforn = 1: n * k%范围内循环的线程的数量s.t。每个职工必须完成N的工作
y (n) = max(圣言(randn (10)));%减少随机矩阵包含内存压力的大小
结束
结果(k, 2) = toc / k;%总时间除以工人的数量
#线程在年代| |时间效率
1.0000 33.1795 1.0000
2.0000 17.1001 0.9702
3.0000 11.8776 0.9312
4.0000 9.2032 0.9013
5.0000 8.4971 0.7810
6.0000 7.7836 0.7105
7.0000 7.2541 0.6534
8.0000 7.1321 0.5815
所以它看起来效率核心也提高性能,但要比核心性能有点慢。此外,内存压力的图表表明,这些数字可能下降的有偏见的,因为内存使用效率变黄与5到8线程在运行。1到4线程的内存应用一直是绿色的。
所以它可能回报的模型与16 gb的ram的内存消耗parfor循环增加相当强烈,当你添加更多的工人。也许这个问题可以得到解决,当Matlab M1上本地运行。
最好的,
本尼

登录置评。

答案(0)

类别

找到更多的在MATLAB并行服务器帮助中心文件交换

s manbetx 845


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!