[yt-users] Problem with ParallellAnalysisInterface._mpi_allsum

Matthew Turk matthewturk at gmail.com
Mon Jun 6 17:24:21 PDT 2011


Hi Anthony,

I tried it on a small dataset and I was unable to reproduce it.  Do
you think that the array is small enough that some of the processors
aren't getting any data?  I was able to get the profile command to
work all the way down to arrays of size 19, run on 20 processors.

Could you post the entirety of your script?

-Matt

On Mon, Jun 6, 2011 at 5:15 PM, Anthony Harness
<anthony.harness at colorado.edu> wrote:
> Hello,
>
> I am trying to add a profile object to a Plot Collection (via
> pc.add_profile_object(data,fields) ) while running in parallel on Kraken. I
> get the following error: "TypeError: message: expecting a list or tuple"
> which ultimately comes from mpi4py.MPI.Comm.Allreduce which is called by
> ParallelAnalysisInterface._mpi_allsum(). In ._mpi_allsum() there is the
> following comment: "# We use old-school pickling here on the assumption the
> arrays are relatively small ( < 1e7 elements )". The dataset I am working
> with is larger than 1e7 elements, so is _mpi_allsum not able to pass such a
> large array to Comm.Allreduce?
>
> Thanks,
> Anthony
>
> Here is the traceback:
>
> File "/yt-2.1stable-py2.7-linux-x86_64.egg/yt/data_objects/profiles.py",
> line 146, in add_fields
>     self._lazy_add_fields(fields, weight, accumulation)
> File "/yt-2.1stable-py2.7-linux-x86_64.egg/yt/data_objects/profiles.py",
> line 94, in _lazy_add_fields
>     for gi,grid in enumerate(self._get_grids(fields)):
> File
> "/yt-2.1stable-py2.7-linux-x86_64.egg/yt/utilities/parallel_tools/parallel_analysis_interface.py",
> line 134, in __iter__
>     if not self.just_list: self.pobj._finalize_parallel()
> File "/yt-2.1stable-py2.7-linux-x86_64.egg/yt/data_objects/profiles.py",
> line 122, in _finalize_parallel
>     self.__data[key] = self._mpi_allsum(self.__data[key])
> File
> "/yt-2.1stable-py2.7-linux-x86_64.egg/yt/utilities/parallel_tools/parallel_analysis_interface.py",
> line 185, in passage
>     return func(self, data)
> File
> "/yt-2.1stable-py2.7-linux-x86_64.egg/yt/utilities/parallel_tools/parallel_analysis_interface.py",
> line 1124, in _mpi_allsum
>     MPI.COMM_WORLD.Allreduce(data, tr, op=MPI.SUM)
> File "Comm.pyx", line 530, in mpi4py.MPI.Comm.Allreduce
> (src/mpi4py_MPI.c:43646)
> File "message.pxi", line 426, in mpi4py.MPI._p_msg_cco.for_allreduce
> (src/mpi4py_MPI.c:14446)
> File "message.pxi", line 33, in mpi4py.MPI.message_simple
> (src/mpi4py_MPI.c:11108)
> TypeError: message: expecting a list or tuple
>
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
>



More information about the yt-users mailing list