On Wed, Apr 7, 2010 at 10:03 AM, Donnie Berkholz <dberkholz@gentoo.org> wrote:
I would really like to use OpenMP parallelization and also use the
Phenix GUI. When I attempted a source build with OpenMP support, I was
informed that the two were incompatible. My understanding is that this
used to work fine with the old wizards. Would it be possible to fix
this?

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 "detached" jobs from the GUI, I think it should be possible to turn OpenMP on for just these jobs.  I will look into this.

However, I think you're confusing the different kinds of parallelization we use.  OpenMP works at the level of C++ 'for' loops, and is used in the FFT for phenix.refine, and some parts of Phaser, so you'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 'nproc' parameter appropriately).

-Nat