Hi again,
The program is actually using 4 threads (as from the stdout). The fact
top runs at 200% means that your threads are hampered by something else.
This could for example be the reading of particles from the hard disk,
which can become a bottle neck. Also: how many cores does
nsit-dhcp-148-090.bsd.uchicago.edu have? You're running 4 MPI slaves,
each with 4 threads on it. The master also takes 1 core. Therefore, your
machine should have 17 cores to do everything you ask for. If it has
fewer cores, then they'll just be in each others way.
HTH,
Sjors
On 04/27/2016 08:18 PM, Baru Reddy wrote:
> Hi Sjors,
> 'top' says each mpi process is running at ~200%. This is the criteria by which I say it is only using 2 threads is based on the ~200%. The command I use and initial output I get is shown below.
>
> mpirun -n 5 ~/Downloads/relion-1.4/bin/relion_refine_mpi --o Class3D/run1_ct5 --continue Class3D/run1_it005_optimiser.star --iter 25 --tau2_fudge 4 --solvent_mask proteasome_mask_150.mrc --oversampling 1 --healpix_order 3 --offset_range 5 --offset_step 2 --j 4 &
>
> [reddybg@nsit-dhcp-148-090 gauto]$ === RELION MPI setup ===
> + Number of MPI processes = 5
> + Number of threads per MPI process = 4
> + Total number of threads therefore = 20
> + Master (0) runs on host = nsit-dhcp-148-090.bsd.uchicago.edu
> + Slave 1 runs on host = nsit-dhcp-148-090.bsd.uchicago.edu
> + Slave 2 runs on host = nsit-dhcp-148-090.bsd.uchicago.edu
> + Slave 3 runs on host = nsit-dhcp-148-090.bsd.uchicago.edu
> + Slave 4 runs on host = nsit-dhcp-148-090.bsd.uchicago.edu
>
> Cheers,Bharat ReddyPost DocUniversity of Chicago
>
> From: Sjors Scheres <[log in to unmask]>
> To: Baru Reddy <[log in to unmask]>
> Cc: [log in to unmask]
> Sent: Wednesday, April 27, 2016 2:08 PM
> Subject: Re: [ccpem] Stuck at 2 Threads per MPI Process
>
> Hi Bharat,
> --j N should always launch N threads. You'll only see them as 1 process in
> 'top', but it may run up to ~N00%. Why do you say relion launches only 2
> threads? How do you see this? Does it say so in the stdout?
> S
>
>> Hi Everyone,
>> Currently we are trying to mobilize the power of threads as our
>> refinements have become more memory intensive and we have hit a limit with
>> the number of MPI processes we can deploy. The problem is that however
>> many threads I tell relion_refine_mpi to use (-j X where X is
>> 4,8,16,etc.), it only uses two threads. Is there a setting I am missing, a
>> variable I am failing to define, or is this a limit of relion_refine_mpi .
>> Cheers,Bharat ReddyPost DocUniversity of Chicago
>
--
Sjors Scheres
MRC Laboratory of Molecular Biology
Francis Crick Avenue, Cambridge Biomedical Campus
Cambridge CB2 0QH, U.K.
tel: +44 (0)1223 267061
http://www2.mrc-lmb.cam.ac.uk/groups/scheres
|