MATLAB DualCPU超线程的支持万博1manbetx

4视图(30天)
大家好。
我要去买双CPU工作站和想知道如果一个矢量化MATLAB代码使用
所有的核心cpu而不需要
使用并行计算工具箱。
谢谢!
4评论
埃米利亚诺·罗索
埃米利亚诺·罗索 2019年6月30日
[m, n] =大小(矩阵);
i = 1: m
l = 1: n
矩阵(i, l) =矩阵(i, l) ^ 2;
结束
结束
我vectorize代码:
[m, n] =大小(矩阵)
矩阵(:,)=矩阵(:,:)^ 2
如果我使用一个cpu核心xeon w3550 4 8线程:
1200秒。
如果我使用一个cpu核心xeon w3680 6 12线程:
800秒。
2核心cpu的数量是相同的,除了我可以验证所有线程
在这两种情况下工作。
现在:
如果我使用2 cpu核心xeon w3680 6 12我的代码将使用第二个cpu线程呢?

登录置评。

接受的答案

1月
1月 2019年6月30日
编辑:1月 2019年7月1日
是的。Matlab将使用可用内核。至少最有可能。Matlab可能将数组columnwise,如果输入有5列,有机会,只有5芯。许多函数是多线程,但是这仅仅是申请“大型”数组。
我不确定,如果超线程中使用Matlab。也许只有物理内核用于效率的原因。
注意:
[m, n] =大小(矩阵);
i = 1: m
l = 1: n
矩阵(i, l) =矩阵(i, l) ^ 2;
结束
结束
[m, n] =大小(矩阵)
矩阵(:,)=矩阵(:,:)^ 2;
不计算相同的结果。第二个代码只适用于方阵,是矩阵乘法。相当于第一个代码是:
%不需要确定尺寸…
矩阵(:,)=矩阵(:,:)。^ 2;
% ^ elementwise平方
它将更加高效,省略了 (:::
矩阵=矩阵。^ 2;
1评论
埃米利亚诺·罗索
埃米利亚诺·罗索 2019年6月30日
谢谢你的回答。
“^”而不是”。^”是一个错误。

登录置评。

更多的答案(0)

类别

找到更多的在开始使用MATLAB帮助中心文件交换

标签

s manbetx 845

社区寻宝

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

开始狩猎!