Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中的并行计算_Matlab_Parallel Processing_Cluster Computing_Distributed Computing - Fatal编程技术网

matlab中的并行计算

matlab中的并行计算,matlab,parallel-processing,cluster-computing,distributed-computing,Matlab,Parallel Processing,Cluster Computing,Distributed Computing,假设我们在简单的计算机上工作,我想知道并行代码计算和没有并行计算是否有一些区别?并行计算有联系 这里给出了几个例子,涉及到积分,特征值计算等等,但是如果我使用并行计算或者不使用并行计算,会有什么区别吗?现在我想在巨大的矩阵上计算特征值分解,我如何将其分发给4个客户机,以及如何最终获得结果?请向我展示一些与此主题相关的代码或示例,提前感谢,例如我们有此矩阵 a=rand(200,200); >> tic >> [V,D]=eig(a); >> toc Elap

假设我们在简单的计算机上工作,我想知道并行代码计算和没有并行计算是否有一些区别?并行计算有联系

这里给出了几个例子,涉及到积分,特征值计算等等,但是如果我使用并行计算或者不使用并行计算,会有什么区别吗?现在我想在巨大的矩阵上计算特征值分解,我如何将其分发给4个客户机,以及如何最终获得结果?请向我展示一些与此主题相关的代码或示例,提前感谢,例如我们有此矩阵

a=rand(200,200);
>> tic
>> [V,D]=eig(a);
>> toc
Elapsed time is 9.819754 seconds.

那么并行计算呢?

根据您的要求,这里有一个快速示例:

% 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中使用分布式阵列。

是的,如果您可以访问并行计算工具箱和分布式计算工具箱,您可以使用
分布式
阵列,并在这些阵列上实现许多算法(包括
EIG
):。分布式阵列的大多数线性代数函数都是在后台使用ScaLAPACK实现的。请举个小例子,是的,我可以访问paralel Computing。您是否查阅了文档(本地或在线),文档中充满了示例、大量教程和解释(比我能提供的要好得多):如何确定我需要多少工人?对于exmaple,此spmd(3)R=rand(4,4);EndIt会优化代码吗?(一如既往)这取决于。在不同的工作人员之间进行通信和来回传输数据时会产生开销。。因此,与并行化的成本相比,当每个工作进程上的计算量很大时,您通常会从中受益。但基本上,当连接了多个实际客户端时,建议使用这种方法。无论工作进程是本地进程还是远程进程,都是如此(我认为都是使用MPI消息实现的)