matlab中的并行计算

时间:2014-07-12 10:01:35

标签: matlab parallel-processing cluster-computing distributed-computing

假设我们正在研究简单的计算机,我想知道并行代码计算和没有并行计算是否存在差异?有并行计算的链接

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.

并行计算怎么样?

1 个答案:

答案 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中使用分布式数组。