说我有以下代码:
a = 5;
x = function1(a);
y = function2(a);
我想要做的是将function1的计算分配给一个worker,并将function2的计算分配给另一个worker,这样我就可以并行计算它们。每个函数都必须连续计算,所以我不能在语句周围使用spmd。还有其他可能性吗?
答案 0 :(得分:1)
您可以使用parfeval
,例如:
File.Move
您可以使用a = 5;
xfut = parfeval(@function1, 1, a); % second arg is number of outputs from function1
yfut = parfeval(@function2, 1, a);
和fetchOutputs
上的xfut
方法获取函数的输出。您可以使用yfut
方法等待一个或两个完成。