<p dir="ltr">Dear Hans, </p>
<p dir="ltr">Many thanks for your reply. I would like to try your patches for antsRegistration to see if it speeds up my pipelines using the SyN algorithm. I am new to the process of applying patches so any guidance on what steps are required would be greatly appreciated. </p>

<p dir="ltr">Best wishes </p>
<p dir="ltr">Bilal </p>
<div class="gmail_quote">On 3 Oct 2013 14:58, &quot;Johnson, Hans J&quot; &lt;<a href="mailto:hans-johnson@uiowa.edu">hans-johnson@uiowa.edu</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word">
<div>Bilal,</div>
<div><br>
</div>
<div>Unfortunately the answer is that you can not take advantage of multiple nodes or OpenMP.  The reality is that in many cases ITK does not efficiently take advantage of the parallelism that is available in modern multi-core computers.  My experience is that
 it often scales well to 4 processors, but  rarely takes full advantage of the resources for 16 processors.  This is an ongoing area of improvement.</div>
<div><br>
</div>
<div>Of particular interest is the antsRegistration example. I have been working on improving the performance of this tool in these patch sets
<a href="http://review.source.kitware.com/#/q/status:open+project:ITK+branch:master+topic:RemoveFalseSharing,n,z" target="_blank">
http://review.source.kitware.com/#/q/status:open+project:ITK+branch:master+topic:RemoveFalseSharing,n,z</a></div>
<div><br>
</div>
<div>In some cases I have been able to improve the perforce by 70x by identifying the ways to better utilize the existing threads.  It is my belief that you would benefit more from helping improve the utilization of the existing threads than to try to add more
 threads across different platforms.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Hans</div>
<div><br>
</div>
<span>
<div style="border-right:medium none;padding-right:0in;padding-left:0in;padding-top:3pt;text-align:left;font-size:11pt;border-bottom:medium none;font-family:Calibri;border-top:#b5c4df 1pt solid;padding-bottom:0in;border-left:medium none">

<span style="font-weight:bold">From: </span>Bilal Tahir &lt;<a href="mailto:bilalahmedtahir@googlemail.com" target="_blank">bilalahmedtahir@googlemail.com</a>&gt;<br>
<span style="font-weight:bold">Date: </span>Thursday, October 3, 2013 8:50 AM<br>
<span style="font-weight:bold">To: </span>&quot;<a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a>&quot; &lt;<a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a>&gt;<br>

<span style="font-weight:bold">Subject: </span>[Insight-users] Itk 4 - Multithreading over multiple nodes of linux high performance computer<br>
</div>
<div><br>
</div>
<div>
<div>
<p dir="ltr">Dear ITK community,</p>
<p dir="ltr">This is my first email on this mail base so please bear with me. </p>
<p dir="ltr">My query is regarding multithreading over multiple cores. In our high performance Linux Sun Grid Engine, we have 16 CPUs per node. Currently I use image registration software based on ITK 4 (e.g. ants Registration,  Elastix)  and set the environment
 variable ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS and openMP options in my bash scripts to 16.</p>
<p dir="ltr">However, some of our Linux administrators suggested to run parallel across multiple nodes to increase the total number of CPUs. Is this possible with ITK 4 and does it require something like the MPI framework? Without some form of message passing
 I would imagine it will be difficult to envisage taking advantage of multiple nodes from a single program. I heard there were some discussions about MPI implementations of ITK 4 but nothing has materialised yet.
</p>
<p dir="ltr">Could anyone shed any light as to whether it is feasible to run ITK 4 over several nodes and how to go about doing this?
</p>
<p dir="ltr">Best wishes </p>
<p dir="ltr">Bilal <br>
</p>
</div>
</div>
</span><br>
<br>
<hr>
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any
 retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
<hr>
</div>

</blockquote></div>