[yt-users] Clump finding and mpi4py

Britton Smith brittonsmith at gmail.com
Mon Aug 15 14:04:45 PDT 2011


Hi Eve,

Unfortunately, the clump finder does not operate in parallel at this time.
For this, we require a parallel contouring algorithm, which we don't have
yet.  I don't know where this is on anyone's road map, but people are
thinking about it.  Please stay tuned.

Britton

On Mon, Aug 15, 2011 at 4:57 PM, Eve Lee <elee at cita.utoronto.ca> wrote:

> Hello,
>
> May I ask if the current version of yt supports parallelization of clump
> finding routine?
>
> When I use mpirun.py -np (whatever number) python (name of my clump finding
> routine) (some arguments my routine requires) --parallel, I keep getting the
> following error:
>
> Traceback (most recent call last):
>  File "find_clumps.py", line 32, in <module>
>    amods.level_sets.find_clumps(**base, c_min, c_max, step)
>  File "/home/jchong/yt/new_dev/xxx/**yt-x86_64/src/yt-hg/yt/**
> analysis_modules/level_sets/**clump_handling.py", line 188, in find_clumps
>    elif (child._isValid()):
>  File "/home/jchong/yt/new_dev/xxx/**yt-x86_64/src/yt-hg/yt/**
> analysis_modules/level_sets/**clump_handling.py", line 143, in _isValid
>    self.function_value = eval(self.function)
>  File "<string>", line 1, in <module>
>  File "/home/jchong/yt/new_dev/xxx/**yt-x86_64/src/yt-hg/yt/data_**
> objects/derived_quantities.py"**, line 86, in __call__
>    self.func(e, *args, **kwargs)
>  File "/home/jchong/yt/new_dev/xxx/**yt-x86_64/src/yt-hg/yt/data_**
> objects/derived_quantities.py"**, line 347, in _IsBound
>    bv_x,bv_y,bv_z = data.quantities["BulkVelocity"**]()
> AttributeError: 'FieldDetector' object has no attribute 'quantities'
>
> This version is updated to changeset 4457:bf868d1a8f02.
>
> I have no problem running the same routine serially but it would be nice if
> I can run parallel to save some time.
>
> Below is my clump finding routine if it helps:
>
> from yt.mods import *
> import sys
> #Find and save clumps
>
> #Read in the command-line-passed arguments
> datadir = sys.argv[1]
> pltdir = sys.argv[2]
> datanum_start = int(sys.argv[3])
> datanum_end = int(sys.argv[4])
> datanum_step = int(sys.argv[5])
>
> for i in range(datanum_start, datanum_end, datanum_step):
>    pf = load(datadir+"DD%04i/data%04i" %(i,i))
>    center = [0.5, 0.5, 0.5]
>    radius = 1.0
>    sp = pf.h.sphere(center, radius)
>
>    particles = pf.h.find_particles_by_type(4)
>    if type(particles) != types.NoneType:
>        field = "Matter_Density" #Use both
>        new_function = 'self.data.quantities["**IsBound"](truncate=True,**include_thermal_energy=False)
> > 1.0'
>    else:
>        field = "Density"
>        new_function = 'self.data.quantities["**IsBound"](truncate=True,**
> include_thermal_energy=False,**include_particles=False) > 1.0'
>
>    c_min = 10**na.floor(na.log10(sp[**field]).min()+1)
>    c_max = 10**na.floor(na.log10(sp[**field]).max()+1)
>    step = 10
>
>    #Find clumps
>    base = amods.level_sets.Clump(sp, None, field, function=new_function)
>    amods.level_sets.find_clumps(**base, c_min, c_max, step)
>
>    #Save clumps
>    pf.h.save_object(base, "Clump")
>
> Thanks!
>
> Best Regards,
>
> Eve
>
> ______________________________**_________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/**listinfo.cgi/yt-users-**spacepope.org<http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20110815/41232748/attachment.html>


More information about the yt-users mailing list