假设我们正在研究简单的计算机,我想知道并行代码计算和没有并行计算是否存在差异?有并行计算的链接
http://www.bu.edu/tech/support/research/training-consulting/online-tutorials/matlab-pct/#TOPICS
给出了几个与积分,特征值计算等相关的例子,但是如果我使用并行计算或没有它的话有什么区别吗?对于瞬间我想在巨大的矩阵上计算特征值分解,我怎么能将它分发给4个客户端以及如何最终得到结果?请告诉我一些与此主题相关的代码或示例,提前感谢,例如我们有这个矩阵
a=rand(200,200);
>> tic
>> [V,D]=eig(a);
>> toc
Elapsed time is 9.819754 seconds.
并行计算怎么样?
答案 0 :(得分:1)
以下是您要求的快速示例:
% open a local pool of 2 workers
parpool('local',2)
% random matrix distributed over workers (each gets half of the data)
A = distributed.rand(1000);
% (non symmetric eigenvalue EIG is not yet available for codistributed arrays)
A = A + A.';
% compute eigenvalues/eigenvectors
[V,D] = eig(A);
% V and D are distributed arrays.
% If you want to retrieve contents of distributed array on this client
%V = gather(V);
% shutdown workers
delete(gcp)
我仍然建议您阅读文档以了解如何在MATLAB中使用分布式数组。