"nproc" in phenix.refine
Dear all, I have a question regarding the "nproc" parameter in phenix.refine; We have the software installed on our university HPC cluster, which has nodes built up of 8 processors each. Submission works via a queuing system ("qsub"). I understand that compiling with OpenMP renders the nproc parameter disfunctional. Does this then imply that I will be limited to 1 node (8 processors) if compiled without OpenMP, since there is no "message passing" to other nodes? Or is there a way to make use of more of the available nodes, for example by compiling with OpenMP and then specifying many nodes with 1 processor? Best regards, Jonathan Elegheert PhD Student Unit for Structural Biology & Biophysics Ghent University [email protected]
On Wed, Nov 30, 2011 at 4:22 AM, Jonathan Elegheert
I have a question regarding the "nproc" parameter in phenix.refine; We have the software installed on our university HPC cluster, which has nodes built up of 8 processors each. Submission works via a queuing system ("qsub"). I understand that compiling with OpenMP renders the nproc parameter disfunctional. Does this then imply that I will be limited to 1 node (8 processors) if compiled without OpenMP, since there is no "message passing" to other nodes? Or is there a way to make use of more of the available nodes, for example by compiling with OpenMP and then specifying many nodes with 1 processor?
It will be limited to one node no matter what - the parallelism in phenix.refine is only applicable to shared-memory systems. You're probably confusing the behavior of 'nproc' in phenix.refine with programs like AutoBuild and MR-Rosetta, which can submit sub-processes to the queueing system. In this case I thought consistent parameter naming was probably more important than consistent behavior between programs. (FYI, I think you're also confusing OpenMP and MPI - the latter works on clusters or other large systems where memory-sharing is impractical, but OpenMP is a compiler feature which automatically parallelizes specific loops in the code, in this case the FFT.) I still don't fully understand how queueing systems handle multi-CPU jobs, but if you're using either nproc or OpenMP, you probably want to request 8 processors when running qsub. -Nat
participants (2)
-
Jonathan Elegheert
-
Nathaniel Echols