私は並列プログラミングが初めてで、Javaでやりたいと思っています。MPI 経由でより複雑なオブジェクトを送受信できるかどうか疑問に思っています。MPJエクスプレスを使用しています。ただし、オブジェクトを送信するたびに、ClassCastException が発生します。
MPI.Init(args);
myrank = MPI.COMM_WORLD.Rank();
numprocs = MPI.COMM_WORLD.Size();
Vector<CustomClass> chr = new Vector<CustomClass>();
if (myrank == 0 ) { //am I the master?
for (int i = 1; i < numprocs; i++) {
MPI.COMM_WORLD.Send(chr, 0, chr.size(), MPI.OBJECT, i, 99); //Here's where the
exception occurs
}
}
else {
Vector<BasicRegion> chr_received = new Vector<BasicRegion>();
MPI.COMM_WORLD.Recv(chr_received, 0, 1, MPI.OBJECT, 0, 99 );
}
例外:
mpi.MPIException: mpi.MPIException: java.lang.ClassCastException: java.util.Vector は [Ljava.lang.Object; にキャストできません。
私の質問は次のとおりです: - MPJ Express でより複雑なオブジェクトを送受信することは可能ですか? - もしそうなら: 私は何を間違っていますか?