<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 23, 2012 at 03:24, Andrew Jaffe <span dir="ltr">&lt;<a href="mailto:a.h.jaffe@gmail.com" target="_blank">a.h.jaffe@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Dear all,<br>
<br>
I have what seems to be a very simply parallelizable task:<br>
<br>
     ghdirs = [ &#39;./y/_x_%d/&#39; % isim for isim in range(*nsim) ]<br>
     gh = map(lambda ghd:<br>
                     GHcalc.getGH(freq=freq, num=num, nc=nc, GHdir=ghd,<br>
                        verbose=False, no_offset_correction=True),<br>
              ghdirs)<br>
<br>
where the variables freq, num and nc are defined prior to this block.<br>
<br>
Because of the presence of these variables, this is a closure, which is<br>
unpicklable, and therefore cannot be sent to ipython clients, hence I<br>
get the message &quot;ValueError: Sorry, cannot pickle code objects with<br>
closures&quot; when I replace map with dview.map_sync.<br>
<br>
I am sure there must be a trivial way to parallize this... Can anyone help?<br></blockquote><div><br></div><div>You just have to pass those values as arguments to your map function.  They can even be passed as default kwargs in your lambda:</div>

<div><br></div><div>ghdirs = [ &#39;./y/_x_%d/&#39; % isim for isim in range(*nsim) ]<br>    gh = map(lambda ghd, freq=freq, num=num, nc=nc:<br>                    GHcalc.getGH(freq=freq, num=num, nc=nc, GHdir=ghd,<br>                       verbose=False, no_offset_correction=True),<br>

             ghdirs)</div><div><br></div><div>-MinRK</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Andrew<br>
_______________________________________________<br>
IPython-User mailing list<br>
<a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
</blockquote></div><br></div>