我可以在parfor(MATLAB)上发送和接收工作人员之间的数据吗?

Lyn*_*ynx 2 parallel-processing matlab multithreading mpi parallel-for

我想知道在执行parfor时是否可以在节点之间交换(发送和接收)数据.我想要完成的是这样的事情:

parfor i = 1:4

    %Perform a computation on each column of a 4x4 matrix on 4 different workers (each worker takes one column).

    %Make Worker #1 send its data to Worker #3, Worker #3 to Worker #1, Worker #2 ro Worker #4 and Worker #4 to Worker #2.

    %Make other computations on the data received from the other workers

end
Run Code Online (Sandbox Code Playgroud)

我想在不离开parfor的情况下执行所有这些计算.我可以使用任何MPI命令吗?这可以实现吗?如果是这样,我怎么能实现这个目标?谢谢!

Sam*_*rts 5

你不能parfor在迭代必须独立的地方做到这一点.相反,看看spmd块,命令labSend,labReceivelabBroadcast.