[Pympi-users] ValueError when attempting to access mpi.irecv() result object
Status: Alpha
Brought to you by:
patmiller
|
From: <emi...@en...> - 2006-11-03 23:37:28
|
I have coded up a fairly simple Manager/Worker style MPI application from
within pyMPI and have been using it for some time now to run some jobs.
At the core of the Manager process i have in essense
request =3D mpi.irecv()
while( there is work to do )
if ( there is an idle worker )
mpi.send( job to idle worker )
if request:
process worker result
if ( more results expected )
request =3D mpi.irecv()
this is certainly a simplified version of the code, but the algorithm and
the calls to mpi.irecv are provided to show where i'm doing this.
This has run fine without issue for several weeks now. Recently the issue
below has started to crop up. My only guess for the reason is that my
job/result sizes are much larger than they used to be. This might be
increasing the likely hood that the issue will arise (it's not 100% but i
can get it to crash about 1/5 application runs)
The error occurs below on the line
if request:
ValueError: Fatal internal unpickling error
I am concerned that I am not using the mpi module packaged with pyMPI
correctly, should I be using a different algorithm for dispatching the
jobs to worker processes? I'm just not sure what is causing this since I
have made no changes to the Manager/Worker code module I developed and th=
e
only differences is the larger job/result messages (around 500+ character=
s
now)
Eamon Millman
|