使用网络计算机进行Matlab并行处理

时间:2012-07-30 17:01:30

标签: parallel-processing cluster-computing matlab

我熟悉matlabpoolparfor用法,但我仍然需要加快计算速度。

我的1GB网络中有一台功能更强大的电脑。两台计算机都有R2010b,并且具有相同的代码和路径。

使用两台计算机进行并行计算的最简单方法是什么?

我今天使用的代码示例:

--- main.m ---

matlabpool('open', 3);
% ...
x = randn(1e5,1);
y = nan(size(x));
parfor k = 1 : length(x)
    y(k) = myfunc(x(k));
end

--- myfunc.m ---

function y = myfunc(x)
    y = x; % some computation
return

1 个答案:

答案 0 :(得分:4)

对于真正的群集计算,您需要distributed computing toolbox,因为您可以阅读parallel computing info page

  

在不更改代码的情况下,您可以在计算机群集或网格计算服务(使用MATLAB Distributed Computing Server™)上运行相同的应用程序。您可以交互式或批量运行并行应用程序。

但是安装(=购买)工具箱只是为了将一台计算机添加到工作池可能有点过于昂贵。幸运的是,还有其他选择:http://www.mathworks.com/matlabcentral/fileexchange/13775

我个人没有用过这个,但认为这绝对值得一看。