[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