spmd error: Could not deserialize object: java.io.IOException

2 次查看(过去 30 天)
Lab 1:
Warning: Could not deserialize object: java.io.IOException: Cannot deserialize proxy: Ice.ObjectInputStream not found/n
> In parallel.internal.pool.deserialize (line 9)
Lab 2:
Warning: Could not deserialize object: java.io.IOException: Cannot deserialize proxy: Ice.ObjectInputStream not found/n
> In parallel.internal.pool.deserialize (line 9)
Lab 1:
In parallel.internal.pool.deserializeFunction (line 12)
In spmdlang.remoteBlockExecution>iDeserializeInputs (line 169)
In spmdlang.remoteBlockExecution>iPrelude (line 109)
In spmdlang.remoteBlockExecution (line 36)
Lab 2:
In parallel.internal.pool.deserializeFunction (line 12)
In spmdlang.remoteBlockExecution>iDeserializeInputs (line 169)
In spmdlang.remoteBlockExecution>iPrelude (line 109)
In spmdlang.remoteBlockExecution (line 36)
  1 个评论
Walter Roberson
Walter Roberson 2018-5-14
My guess is that you are exceeding the 2 Gigabyte limit on transferring data between workers. (Perhaps the limit is higher these days.)

请先登录,再进行评论。

采纳的回答

Edric Ellis
Edric Ellis 2018-5-14
The problem here is that you appear to be creating a java object in the MATLAB client process that cannot be transferred to the worker - which is a separate process. It's not clear to me from your code exactly where that is, but what you need to do is simple: you must ensure that these objects are created on the workers. In other words, you must perform whatever setup phase involves the java/Ice API inside an spmd block.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Parallel for-Loops (parfor) 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by