Hi Eve,<br><br>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.<br>
<br>Britton<br><br><div class="gmail_quote">On Mon, Aug 15, 2011 at 4:57 PM, Eve Lee <span dir="ltr"><<a href="mailto:elee@cita.utoronto.ca">elee@cita.utoronto.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello,<br>
<br>
May I ask if the current version of yt supports parallelization of clump finding routine?<br>
<br>
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:<br>
<br>
Traceback (most recent call last):<br>
  File "find_clumps.py", line 32, in <module><br>
    amods.level_sets.find_clumps(<u></u>base, c_min, c_max, step)<br>
  File "/home/jchong/yt/new_dev/xxx/<u></u>yt-x86_64/src/yt-hg/yt/<u></u>analysis_modules/level_sets/<u></u>clump_handling.py", line 188, in find_clumps<br>
    elif (child._isValid()):<br>
  File "/home/jchong/yt/new_dev/xxx/<u></u>yt-x86_64/src/yt-hg/yt/<u></u>analysis_modules/level_sets/<u></u>clump_handling.py", line 143, in _isValid<br>
    self.function_value = eval(self.function)<br>
  File "<string>", line 1, in <module><br>
  File "/home/jchong/yt/new_dev/xxx/<u></u>yt-x86_64/src/yt-hg/yt/data_<u></u>objects/derived_quantities.py"<u></u>, line 86, in __call__<br>
    self.func(e, *args, **kwargs)<br>
  File "/home/jchong/yt/new_dev/xxx/<u></u>yt-x86_64/src/yt-hg/yt/data_<u></u>objects/derived_quantities.py"<u></u>, line 347, in _IsBound<br>
    bv_x,bv_y,bv_z = data.quantities["BulkVelocity"<u></u>]()<br>
AttributeError: 'FieldDetector' object has no attribute 'quantities'<br>
<br>
This version is updated to changeset 4457:bf868d1a8f02.<br>
<br>
I have no problem running the same routine serially but it would be nice if I can run parallel to save some time.<br>
<br>
Below is my clump finding routine if it helps:<br>
<br>
from yt.mods import *<br>
import sys<br>
#Find and save clumps<br>
<br>
#Read in the command-line-passed arguments<br>
datadir = sys.argv[1]<br>
pltdir = sys.argv[2]<br>
datanum_start = int(sys.argv[3])<br>
datanum_end = int(sys.argv[4])<br>
datanum_step = int(sys.argv[5])<br>
<br>
for i in range(datanum_start, datanum_end, datanum_step):<br>
    pf = load(datadir+"DD%04i/data%04i" %(i,i))<br>
    center = [0.5, 0.5, 0.5]<br>
    radius = 1.0<br>
    sp = pf.h.sphere(center, radius)<br>
<br>
    particles = pf.h.find_particles_by_type(4)<br>
    if type(particles) != types.NoneType:<br>
        field = "Matter_Density" #Use both<br>
        new_function = 'self.data.quantities["<u></u>IsBound"](truncate=True,<u></u>include_thermal_energy=False) > 1.0'<br>
    else:<br>
        field = "Density"<br>
        new_function = 'self.data.quantities["<u></u>IsBound"](truncate=True,<u></u>include_thermal_energy=False,<u></u>include_particles=False) > 1.0'<br>
<br>
    c_min = 10**na.floor(na.log10(sp[<u></u>field]).min()+1)<br>
    c_max = 10**na.floor(na.log10(sp[<u></u>field]).max()+1)<br>
    step = 10<br>
<br>
    #Find clumps<br>
    base = amods.level_sets.Clump(sp, None, field, function=new_function)<br>
    amods.level_sets.find_clumps(<u></u>base, c_min, c_max, step)<br>
<br>
    #Save clumps<br>
    pf.h.save_object(base, "Clump")<br>
<br>
Thanks!<br>
<br>
Best Regards,<br>
<br>
Eve<br>
<br>
______________________________<u></u>_________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/<u></u>listinfo.cgi/yt-users-<u></u>spacepope.org</a><br>
</blockquote></div><br>