On Wed, Apr 7, 2010 at 10:03 AM, Donnie Berkholz <span dir="ltr">&lt;<a href="mailto:dberkholz@gentoo.org">dberkholz@gentoo.org</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I would really like to use OpenMP parallelization and also use the<br>
Phenix GUI. When I attempted a source build with OpenMP support, I was<br>
informed that the two were incompatible. My understanding is that this<br>
used to work fine with the old wizards. Would it be possible to fix<br>
this?<br></blockquote><div><br></div><div>The OpenMP incompatibility has to do with the way the GUI used to run every process - some weird conflict with Python threading, we think. �Now that it is possible to run fully &quot;detached&quot; jobs from the GUI, I think it should be possible to turn OpenMP on for just these jobs. �I will look into this.</div>
<div><br></div><div>However, I think you&#39;re confusing the different kinds of parallelization we use. �OpenMP works at the level of C++ &#39;for&#39; loops, and is used in the FFT for phenix.refine, and some parts of Phaser, so you&#39;ll get a little speed boost on those apps - but in our experience this is rarely better than 2x, if that, regardless of # of CPUs. �AutoBuild (and related programs) actually spawns several parallel jobs, which do most of the work independently, and this scales very well (and potentially over multiple machines). �This is also supported in the GUI (and it tries to detect how many cores you have and set the &#39;nproc&#39; parameter appropriately).</div>
<div><br></div><div>-Nat</div></div>