Print

Print


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