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

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 个评论

My guess is that you are exceeding the 2 Gigabyte limit on transferring data between workers. (Perhaps the limit is higher these days.)

请先登录,再进行评论。

 采纳的回答

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 个)

类别

帮助中心File Exchange 中查找有关 Parallel Computing Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by