[phenixbb] phenix.refine nproc

Nathaniel Echols nechols at lbl.gov
Tue Dec 10 07:44:31 PST 2013

On Tue, Dec 10, 2013 at 6:37 AM, de Waal, Parker <Parker.DeWaal at vai.org>wrote:

>  I recently compiled phenix 1.8.4-1496 on a CentOS 6.4 server and am
> having trouble using phenix.refine in parallel using the nproc flag which
> always runs as a single thread. Please find my input parameters here:
> https://gist.github.com/anonymous/13b9d4d39ed4d0c9622a
> I’m wondering if maybe OpenMP isn’t configured properly on our server? Or
> maybe the correct version is not installed when I compliled phenix. If
> anyone has any input or experience with a problem such as this I would be
> extremely grateful.

The nproc flag has nothing to do with OpenMP - it controls the
parallelization of the (optional) weight optimization calculations, which
are simply grid searches and can be easily spread out using Python's
multiprocessing module.  The separate OpenMP parallelization is in the Fast
Fourier Transform (FFT) code responsible for calculating structure factors
and gradients.  The latter is a much less efficient use of multiple CPUs,
but it will always have an effect whether or not your run grid optimization.

To use OpenMP, first make sure that you have actually compiled OpenMP
support during installation.  To control the number of processors, the
environment OMP_NUM_THREADS is used; I'm not sure if this defaults to 1 or
the number of available CPUs.  I don't think you can safely combine this
with the Python-level parallelism, but I haven't tested that.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/phenixbb/attachments/20131210/4f862083/attachment.htm>

More information about the phenixbb mailing list