JiscMail Logo
Email discussion lists for the UK Education and Research communities

Help for CCPEM Archives


CCPEM Archives

CCPEM Archives


CCPEM@JISCMAIL.AC.UK


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

CCPEM Home

CCPEM Home

CCPEM  April 2017

CCPEM April 2017

Options

Subscribe or Unsubscribe

Subscribe or Unsubscribe

Log In

Log In

Get Password

Get Password

Subject:

Re: Relion2: Refine3D gets stuck at iteration 2

From:

Bjoern Forsberg <[log in to unmask]>

Reply-To:

Bjoern Forsberg <[log in to unmask]>

Date:

Wed, 5 Apr 2017 10:12:12 +0200

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (191 lines)

Hi Songye (and all others),

I was able to stabilize execution of relion compiled specifically for 
the Pascal/Maxwell compute architecture, by updating the version of CUB 
we use inside relion. I made a new patched version 2.0.6 with these 
changes, so pulling the new code should help with this, and other 
similar, reported issues.

Under the tests I've run, there is for instance no longer any 2nd 
iteration stalls when compiling using e.g.

-DCUDA_ARCH=61

Cheers,

/Björn

On 03/31/2017 11:10 PM, Chen, Songye wrote:
> Hi Björn,
>
> I just want to report to you something happened to us recently, that may or may not be related to this topic. I was trying to install Relion2 on Ubuntu 16.04 with 2 Nvidia Quadro m5000 and CUDA 8.0. I got the latest Relion v2.0.5, and compiled it for cuda compute 52. When I ran Refind3D, it always stalled or ended on the second iteration start, and gives error report "the launch timed out and was terminated in .../relion/src/gpu-utils/cuda_mem_utils.h at line 311". So I compiled Relion again with the default cuda compute 35, and the problem went away. I hope it helps. Please let me know if you have any questions or advice.
>
> Thanks,
> Songye
>
> -----Original Message-----
> From: Collaborative Computational Project in Electron cryo-Microscopy [mailto:[log in to unmask]] On Behalf Of Bjoern Forsberg
> Sent: Thursday, March 16, 2017 7:19 PM
> To: [log in to unmask]
> Subject: Re: [ccpem] Relion2: Refine3D gets stuck at iteration 2
>
> Hi Tru,
>
> This is in fact not the same "stall" issue that was fixed in v2.0.4, but rather the same as discussed recently with respect to compilation specifically against pascal-generation GPUs, i.e. when specifying cuda compute 61. I know this because your logfile specifies a stall at the start of an iteration rather than at the end of an expectation-step.
>
> I'm guessing that you have compiled relion for compute 61 since your binary is called "CC-61". For some reason (looking like a compiler bug at the moment), compiling for 61 seems to cause stalls on the second iteration start. We're on it, but for now, I recommend compiling for cuda compute 52, even if you're going to run on pascal-generation cards, like the TITAN X(pascal), GTX1080, and so on.
>
> /Björn
>
>
> On 2017-03-16 10:36, Tru Huynh wrote:
>> On Wed, Mar 15, 2017 at 10:09:13PM +0100, Bjoern Forsberg wrote:
>>> Any version after 2.0.4 should not display this stall. If you are
>>> sure you are running at least 2.0.4 and are observing that
>>>
>>>       - relion stops at the end of an expectation step without
>>> reporting an error
>>>       - one GPU is running at 100%, but all others are not doing anything
>>>       - one CPU thread per MPI is running at 100%
>>>
>>> then please check the issue linked below and post your output there.
>>> If you do not see all the above symptoms, it something else, and I'd
>>> be grateful if you create new issue on the 3dem/relion github page,
>>> so that we can sort it out.
>>>
>> git built version as of yesterday/git d401f24
>> 1+8 cores/single gpu run:
>>
>> slurm script:
>> [tru@visu1 slurm.d]$ more
>> 9cpus-1gpu-run-nih-c057-201703015-d401f24-openmpi-1.10.6-libltdl-CC-61
>> .sh
>> #!/bin/sh
>> #SBATCH -N 1
>> #SBATCH -n 9
>> #SBATCH --exclusive
>> #SBATCH --gres=gpu:4 --constraint=CC61 export OMP_NUM_THREADS=1 export
>> TMPDIR=/local-storage/tru/relion2/tmpdir
>> module purge
>> module load slurm/16.05.9-hdf5-1.8-hwloc-1.8-munge-0.5.11
>> module load relion/git/201703015-d401f24-openmpi-1.10.6-libltdl-CC-61
>> export OMPI_MCA_btl="self,sm,tcp"
>> CPUS=9
>> cd /local-storage/tru/relion_benchmark || exit 1 #for GPUS in "0" "1"
>> "2" "3"
>> for GPUS in "0" "1" "2" "3"
>> do
>> dropcache.sh
>> NAME=relion-git-201703015-d401f24-openmpi-1.10.6-libltdl-CC-61-cpu${CP
>> US}gpus$(echo ${GPUS}|tr ':' '.')-OMP_NUM_THREADS1 mkdir -p
>> relion/release/${NAME} (time mpirun -n ${CPUS}  `which relion_refine_mpi` --o relion/release/${NAME}  \
>>     --i Particles/shiny_2sets.star --ref emd_2660.map:mrc --firstiter_cc --ini_high 60 \
>>     --dont_combine_weights_via_disc --scratch_dir ${TMPDIR} --pool 100 --ctf \
>>     --ctf_corrected_ref --iter 25 --tau2_fudge 4 --particle_diameter 360 --K 6 --flatten_solvent \
>>     --zero_mask --oversampling 1 --healpix_order 2 --offset_range 5 --offset_step 2 --sym C1 \
>>     --norm --scale  --j 2 --random_seed 0 \
>>     --gpu ${GPUS} )  > ${NAME}.out-`date +'%Y%m%d-%H%M'` 2>&1 done
>>
>> mpirun -n 9
>> /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_
>> refine_mpi --o
>> relion/release/relion-git-201703015-d401f24-openmpi-1.10.6-libltdl-CC-
>> 61-cpu9gpus0-OMP_NUM_THREADS1 --i Particles/shiny_2sets.star --ref
>> emd_2660.map:mrc --firstiter_cc --ini_high 60
>> --dont_combine_weights_via_disc --scratch_dir
>> /local-storage/tru/relion2/tmpdir --pool 100 --ctf --ctf_corrected_ref
>> --iter 25 --tau2_fudge 4 --particle_diameter 360 --K 6
>> --flatten_solvent --zero_mask --oversampling 1 --healpix_order 2
>> --offset_range 5 --offset_step 2 --sym C1 --norm --scale --j 2
>> --random_seed 0 --gpu 0
>>
>> output file attached:
>> relion-git-201703015-d401f24-openmpi-1.10.6-libltdl-CC-61-cpu9gpus0-OM
>> P_NUM_THREADS1.out-20170316-0907
>>
>> [tru@c057 relion_benchmark]$ nvidia-smi Thu Mar 16 10:26:04 2017
>> +-----------------------------------------------------------------------------+
>> | NVIDIA-SMI 367.57                 Driver Version: 367.57                    |
>> |-------------------------------+----------------------+----------------------+
>> | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
>> | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
>> |===============================+======================+======================|
>> |   0  TITAN X (Pascal)    Off  | 0000:02:00.0     Off |                  N/A |
>> | 23%   34C    P2    79W / 250W |   9542MiB / 12189MiB |    100%      Default |
>> +-------------------------------+----------------------+----------------------+
>> |   1  TITAN X (Pascal)    Off  | 0000:03:00.0     Off |                  N/A |
>> | 23%   17C    P8     9W / 250W |      2MiB / 12189MiB |      0%      Default |
>> +-------------------------------+----------------------+----------------------+
>> |   2  TITAN X (Pascal)    Off  | 0000:81:00.0     Off |                  N/A |
>> | 23%   19C    P8     8W / 250W |      2MiB / 12189MiB |      0%      Default |
>> +-------------------------------+----------------------+----------------------+
>> |   3  TITAN X (Pascal)    Off  | 0000:82:00.0     Off |                  N/A |
>> | 23%   15C    P8     8W / 250W |      2MiB / 12189MiB |      0%      Default |
>> +-------------------------------+----------------------+----------------------+
>>
>> +-----------------------------------------------------------------------------+
>> | Processes:                                                       GPU Memory |
>> |  GPU       PID  Type  Process name                               Usage      |
>> |=============================================================================|
>> |    0       997    C   ....10.6-libltdl-CC-61/bin/relion_refine_mpi  1187MiB |
>> |    0       998    C   ....10.6-libltdl-CC-61/bin/relion_refine_mpi  1223MiB |
>> |    0       999    C   ....10.6-libltdl-CC-61/bin/relion_refine_mpi  1187MiB |
>> |    0      1000    C   ....10.6-libltdl-CC-61/bin/relion_refine_mpi  1191MiB |
>> |    0      1001    C   ....10.6-libltdl-CC-61/bin/relion_refine_mpi  1189MiB |
>> |    0      1002    C   ....10.6-libltdl-CC-61/bin/relion_refine_mpi  1187MiB |
>> |    0      1003    C   ....10.6-libltdl-CC-61/bin/relion_refine_mpi  1187MiB |
>> |    0      1004    C   ....10.6-libltdl-CC-61/bin/relion_refine_mpi  1187MiB |
>> +-----------------------------------------------------------------------------+
>>
>> [tru@c057 relion_benchmark]$ nvidia-smi topo -m
>>           GPU0    GPU1    GPU2    GPU3    CPU Affinity
>> GPU0     X      PHB     SOC     SOC     0-7
>> GPU1    PHB      X      SOC     SOC     0-7
>> GPU2    SOC     SOC      X      PHB     8-15
>> GPU3    SOC     SOC     PHB      X      8-15
>>
>> Legend:
>>
>>     X   = Self
>>     SOC  = Connection traversing PCIe as well as the SMP link between CPU sockets(e.g. QPI)
>>     PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
>>     PXB  = Connection traversing multiple PCIe switches (without traversing the PCIe Host Bridge)
>>     PIX  = Connection traversing a single PCIe switch
>>     NV#  = Connection traversing a bonded set of # NVLinks
>>
>>
>> top reports:
>>
>>     PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+   P   TIME COMMAND
>>     999 tru       20   0 40.8g 2.9g 110m S 100.0  1.2  83:34.96 13  83:34 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/reli
>>    1003 tru       20   0 40.8g 2.9g 110m S 99.0  1.2  83:34.96 15  83:34 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/relio
>>    1001 tru       20   0 40.8g 2.9g 110m S 99.0  1.2  83:32.09 10  83:32 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/relio
>>     997 tru       20   0 40.9g 2.9g 111m S 100.0  1.1  82:45.63  9  82:45 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/reli
>>     998 tru       20   0 40.9g 2.9g 110m S 100.0  1.1  82:21.05  1  82:21 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/reli
>>    1004 tru       20   0 40.8g 2.9g 110m S 100.0  1.2  82:18.99  0  82:18 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/reli
>>    1000 tru       20   0 41.0g 2.9g 110m S 100.0  1.2  82:18.11  3  82:18 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/reli
>>    1002 tru       20   0 40.9g 3.0g 110m S 100.0  1.2  82:17.71  2  82:17 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/reli
>>     996 tru       20   0 2979m 2.4g  10m R 100.0  1.0  76:50.42  6  76:50 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/release/reli
>>    1784 tru       20   0 27860 1816 1100 R  1.0  0.0   0:00.38  5   0:00 top
>>     994 tru       20   0  149m 3556 2368 S  0.0  0.0   0:00.17  1   0:00 mpirun -n 9 /c6/shared/relion/git-d401f24-openmpi-1.10.6-libltdl-CC-61/bin/relion_refine_mpi --o relion/r
>>     931 tru       20   0  111m 2052 1060 S  0.0  0.0   0:00.13  0   0:00 sshd: tru@pts/0
>>     932 tru       20   0 11576 1964 1436 S  0.0  0.0   0:00.05  9   0:00 -bash
>>     977 tru       20   0  9208 1352 1116 S  0.0  0.0   0:00.00  1   0:00 /bin/sh /var/run/slurm/slurmd.state/job15485628/slurm_script
>>     991 tru       20   0  9208  728  488 S  0.0  0.0   0:00.00  0   0:00 /bin/sh /var/run/slurm/slurmd.state/job15485628/slurm_script
>>
>> stracing the lowest cpu used mpi process:
>>
>> [tru@c057 relion_benchmark]$ strace -f -p 996 Process 996 attached
>> with 2 threads [pid  1012] restart_syscall(<... resuming interrupted
>> call ...> <unfinished ...>
>> [pid   996] poll([{fd=5, events=POLLIN}, {fd=11, events=POLLIN}], 2, 0) = 0 (Timeout)
>> [pid   996] poll([{fd=5, events=POLLIN}, {fd=11, events=POLLIN}], 2, 0) = 0 (Timeout)
>> [pid   996] poll([{fd=5, events=POLLIN}, {fd=11, events=POLLIN}], 2, 0) = 0 (Timeout)
>> [pid   996] poll([{fd=5, events=POLLIN}, {fd=11, events=POLLIN}], 2, 0) = 0 (Timeout)
>> [pid   996] poll([{fd=5, events=POLLIN}, {fd=11, events=POLLIN}], 2, 0) = 0 (Timeout)
>> ...forever...
>>
>> Cheers
>>
>> Tru

Top of Message | Previous Page | Permalink

JiscMail Tools


RSS Feeds and Sharing


Advanced Options


Archives

April 2024
March 2024
February 2024
January 2024
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013


JiscMail is a Jisc service.

View our service policies at https://www.jiscmail.ac.uk/policyandsecurity/ and Jisc's privacy policy at https://www.jisc.ac.uk/website/privacy-notice

For help and support help@jisc.ac.uk

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager