<div dir="ltr">Hello Roland,<div><br></div><div>another question on this topic i am trying to wrap my head around:</div><div><br></div><div>actually, i am not performing those processor local &quot;integrals&quot; on grid variables, but the result is a new variable (i just chose rho in the example pseudocode i wrote on friday)</div>
<div><br></div><div>now my problem is the scheduling...</div><div><br></div><div>i have different radial shells, and a function that computes the &quot;processor-local&quot; value of the quantity i want to sum (which is defined as a type=scalar in my interface.ccl...</div>
<div><br></div><div>in order to be able to do that, i need to schedule my thorn as global loop-local, otherwise i get failed assertions in the loop macros..</div><div><br></div><div>now my question is the following:</div>
<div><br></div><div>how can i now perform the reduction on this &quot;processor-local&quot; quantity?</div><div><br></div><div>if i write a new function, will it have access to all the instances every processor creates? </div>
<div><br></div><div>if i calculate the reduction inside the &quot;processor-local&quot; function, will it work? because the function is global loop-local and i will need a loop to perform the integration on every shell i specify..</div>
<div><br></div><div>i tried to manually change modes using the carpet c++ macros, but that has led to segmentation faults only so far...</div><div><br></div><div>any idea how i could do that?</div><div><br></div><div>best wishes,</div>
<div><br></div><div>Vassili</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 15, 2013 at 7:45 PM, Vassilios Mewes <span dir="ltr">&lt;<a href="mailto:vassilios.mewes@uv.es" target="_blank">vassilios.mewes@uv.es</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks a lot, I will try this!<div><br></div><div>best wishes,</div><div><br></div><div>Vassili</div></div>
<div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 15, 2013 at 5:39 PM, Roland Haas <span dir="ltr">&lt;<a href="mailto:rhaas@tapir.caltech.edu" target="_blank">rhaas@tapir.caltech.edu</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
Hello Vassilios,<br>
<br>
</div><div>&gt; and then reduce over all radial shells<br>
&gt;<br>
&gt; for(int iradii=0; iradii &lt; nradii; iradii ++) {<br>
&gt; CCTK_Reduce(cctkGH,-1, &amp;rho_total_shell[iradii], CCTK_VAR =<br>
&gt; rho_in_shell[iradii]) }<br>
&gt;<br>
&gt; would that be an option? or even work?<br>
</div>Yes, that is essentially option 2 that I had outlined. You need to<br>
modify your first loop to be CCTK_LOOP3_INTBND (described in the user<br>
guide, be careful when trying to use OpenMP since rho_in_shell[iradii]<br>
might see contributions from different threads) so that you exclude<br>
ghost zones. You also have to multiply rhop[i3D] by CarpetReduce&#39;s<br>
weight function (easiest is to inherit from CarpetReduce which will<br>
give you access to the grid function). You can do the Reduction all in<br>
one MPI call if you&#39;d like:<br>
<br>
const int op_sum = CCTK_ReductionArrayHandle(&quot;sum&quot;);<br>
const int ierr = CCTK_ReduceArray(cctkGH,-1, op_sum, nradii,<br>
CCTK_VARIABLE_REAL, rho_total_shell, 1/*num_dims*/,<br>
1/*num_in_arrays*/, CCTK_VARIALBE_REAL, nradii, rho_in_shell);<br>
<br>
or one of of the 1D ArrayToArray helper routines<br>
(CCTK_ReduceLocArrayToArray1D) described in the user guide.<br>
<div><br>
Yours,<br>
Roland<br>
<br>
- --<br>
My email is as private as my paper mail. I therefore support encrypting<br>
and signing email messages. Get my PGP key from <a href="http://keys.gnupg.net" target="_blank">http://keys.gnupg.net</a>.<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1.4.15 (GNU/Linux)<br>
Comment: Using GnuPG with Icedove - <a href="http://www.enigmail.net/" target="_blank">http://www.enigmail.net/</a><br>
<br>
</div>iEYEARECAAYFAlKGTk8ACgkQTiFSTN7SboWrIgCgzzgU3hS/FzvXTzyzup9b0Tt0<br>
3WYAoNFx6ZROsng8/gHVysQ68zp7os1r<br>
=nH9a<br>
<div><div>-----END PGP SIGNATURE-----<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@einsteintoolkit.org" target="_blank">Users@einsteintoolkit.org</a><br>
<a href="http://lists.einsteintoolkit.org/mailman/listinfo/users" target="_blank">http://lists.einsteintoolkit.org/mailman/listinfo/users</a><br>
<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>