Detectron: рдорд▓реНрдЯреА-рдЬреАрдкреАрдпреВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдПрдХ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХреЛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдЬрдире░ 2018  ┬╖  64рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebookresearch/Detectron

рдЬрдм рдореИрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рджреЛ рдпрд╛ рдЪрд╛рд░ рдЬреАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИред рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ:

'caffe2 :: EnforceNotMet' рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдлреЗрдВрдХрдиреЗ рдХреЗ рдмрд╛рдж рдмреБрд▓рд╛рдпрд╛ рд╕рдорд╛рдкреНрдд
рдХреНрдпрд╛ (): [enforce fail_gpu.h: 170 рдкрд░ рд╡рд┐рдлрд▓]ред рдПрдирдХрд╛рдЙрдВрдЯрд░ CUDA рддреНрд░реБрдЯрд┐: рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдСрдкрд░реЗрдЯрд░ рд╕реЗ рддреНрд░реБрдЯрд┐:
рдЗрдирдкреБрдЯ: "gpu_0 / rpn_cls_logits_fpn2_w_grad" рдЗрдирдкреБрдЯ: "gpu_1 / rpn_cls_logits_fpn2_w_grad" рдЖрдЙрдЯрдкреБрдЯ: "gpu_0 / rpn_cls_logs_fpn2_w_grad": "name": "name": "name"
* резрелрезрем61ремремрез (реж (рдпреВрдирд┐рдХреНрд╕ рд╕рдордп) рдкрд░ рдирд┐рд░рд╕реНрдд рдХрд░реЗрдВ "рдЬреАрдПрди рджрд┐рдирд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ" рджрд┐рдирд╛рдВрдХ -резрелрезрем atремремрез ""реж" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ *
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкреАрд╕реА: @ 0x7ff67559f428 gsignal
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
E0125 07: 43: 00.745853 55683 pybind_state.h: 422] рдЕрдкрд╡рд╛рдж PythonOp рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛: RuntimeError: [enforce fail_gpu.h: 307] рддреНрд░реБрдЯрд┐ == cudaSuccess рдкрд░ рд╡рд┐рдлрд▓ред 77 рдмрдирд╛рдо 0. рддреНрд░реБрдЯрд┐: /mnt/hzhida/project/caffe2/caffe2/core/context_gpu.h:30: рдПрдХ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛

рдкрд░:
/mnt/hzhida/facebook/detectron/lib/ops/generate_proposals.py(101): рдЖрдЧреЗ
* SIDABRT (@ 0x3e80000d84f) PID 55375 (TID 0x7ff453fff700) PID 55375 рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ;
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
@ 0x7ff675945390 (рдЕрдЬреНрдЮрд╛рдд)
@ 0x7ff67559f428 gsignal
@ 0x7ff6755a102a рдЧрд░реНрднрдкрд╛рдд
@ 0x7ff66f37e84d __gnu_cxx :: __ verbose_terminate_ler ()
@ 0x7ff66f37c6b6 (рдЕрдЬреНрдЮрд╛рдд)
@ 0x7ff66f37c701 std :: рд╕рдорд╛рдкреНрдд ()
@ 0x7ff66f3a7d38 (рдЕрдЬреНрдЮрд╛рдд)
@ 0x7ff67593b6ba start_thread
@ 0x7ff67567141d рдХреНрд▓реЛрди
@ 0x0 (рдЕрдЬреНрдЮрд╛рдд)
рдирд┐рд░рд╕реНрдд (рдХреЛрд░ рдбрдВрдк)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВред рдпрд╣ рдореЗрд░реА рдзрд╛рд░рдгрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдРрдб-рдУрдк рд╕реЗ рдЖрддрд╛ рд╣реИ, рдЬрдм рдкреАрдпрд░ рдПрдХреНрд╕реЗрд╕ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрд░реЙрд╕-рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдВрдЪрд╛рд░ рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рдирд╣реАрдВ рд╣реИред рдлрд┐рдХреНрд╕ рдЬрд╛рд░реА рдХрд░реЗрдВрдЧреЗред

рд╕рднреА 64 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рднреА рдпрд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рдПрдХ GPU рдпрд╛ рджреЛ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди Mask RCNN (mask_rcnn_R-101-FPN) рдпрд╛ рд░реЗрдЯрд┐рдирд╛рдиреЗрдЯ (retinanet_R-101-FPN) рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 4 GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред

рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдореИрдВ рджреЛ рдпрд╛ рдЕрдзрд┐рдХ GPU рдХреЗ рд╕рд╛рде tutorial_Res50 рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред

рдЬреАрдкреАрдпреВ рдЖрдИрдбреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдпрд╛рдиреА рд╕рдмрд╕реЗ рдХрдо рдЖрдИрдбреА рд╕реЗ рдЕрд▓рдЧ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 4 рдЬреАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП '1,3,5,7')ред рдпрджрд┐ рд╕рдмрд╕реЗ рдХрдо рдЬреАрдкреАрдпреВ рдЖрдИрдбреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдареАрдХ рдЪрд▓рддрд╛ рд╣реИред

@jwnsu : рд╣рдо рдПрдХ рдлрд┐рдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддрд╛рдХрд┐ CUDA_VISIBLE_DEVICES рдЕрднреА рднреА рд╕рдмрд╕реЗ рдХрдо рдЖрдИрдбреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗред рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдФрд░ рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Hi @jwnsu , @coolbrain , @tshizys , @lwher : рд╣рдо рдЕрдкрдиреА рддрд░рдл рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ

рдХреНрдпрд╛ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЯрд░реНрди рдХреЛ рдкреНрд░рдХрдЯ рдХрд░ рд╕рдХрддреА рд╣реИрдВ?

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ:

  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: ?
  • рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг:?
  • CUDA рд╕рдВрд╕реНрдХрд░рдг:?
  • cuDNN рд╕рдВрд╕реНрдХрд░рдг:?
  • NVIDIA рдЪрд╛рд▓рдХ рд╕рдВрд╕реНрдХрд░рдг:?
  • GPU рдореЙрдбрд▓ (рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдпрджрд┐ рд╡реЗ рд╕рднреА рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ):?
  • рдФрд░ рдХреБрдЫ рдЬреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ:?

рдЬрдм рд╣рдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, GPU ids 1,3,5,7 рдХреЗ рд╕рд╛рде:

CUDA_VISIBLE_DEVICES=1,3,5,7 python2 tools/train_net.py --cfg configs/12_2017_baselines/e2e_faster_rcnn_R-50-FPN_1x.yaml OUTPUT_DIR /tmp/dbg-cvd-train TRAIN.DATASETS "('coco_2014_minival',)" NUM_GPUS 4

Every 0.1s: nvidia-smi                                                                                                                                                                                                                                                                                                                             Fri Jan 26 09:09:26 2018

Fri Jan 26 09:09:26 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.39                 Driver Version: 375.39                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla M40           On   | 0000:07:00.0     Off |                  Off |
|  0%   42C    P8    17W / 250W |      0MiB / 12209MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla M40           On   | 0000:08:00.0     Off |                  Off |
|  0%   51C    P0   144W / 250W |   7214MiB / 12209MiB |     46%      Default |
+-------------------------------+----------------------+----------------------+
|   2  Tesla M40           On   | 0000:09:00.0     Off |                  Off |
|  0%   38C    P8    19W / 250W |      0MiB / 12209MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   3  Tesla M40           On   | 0000:0A:00.0     Off |                  Off |
|  0%   52C    P0   220W / 250W |   7502MiB / 12209MiB |     38%      Default |
+-------------------------------+----------------------+----------------------+
|   4  Tesla M40           On   | 0000:0B:00.0     Off |                  Off |
|  0%   40C    P8    17W / 250W |      0MiB / 12209MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   5  Tesla M40           On   | 0000:0C:00.0     Off |                  Off |
|  0%   60C    P0    85W / 250W |   7081MiB / 12209MiB |     48%      Default |
+-------------------------------+----------------------+----------------------+
|   6  Tesla M40           On   | 0000:0D:00.0     Off |                  Off |
|  0%   40C    P8    20W / 250W |      0MiB / 12209MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   7  Tesla M40           On   | 0000:0E:00.0     Off |                  Off |
|  0%   56C    P0    81W / 250W |   7494MiB / 12209MiB |     40%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    1   2871837    C   ..............gcc-5-glibc-2.23/bin/python2.7  7210MiB |
|    3   2871837    C   ..............gcc-5-glibc-2.23/bin/python2.7  7498MiB |
|    5   2871837    C   ..............gcc-5-glibc-2.23/bin/python2.7  7077MiB |
|    7   2871837    C   ..............gcc-5-glibc-2.23/bin/python2.7  7490MiB |
+-----------------------------------------------------------------------------+

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: Ubuntu 16.04
рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг: gcc (рдЙрдмрдВрдЯреВ 5.4.0-6ubuntu1 ~ 16.04.4) 5.4.0
CUDA рд╕рдВрд╕реНрдХрд░рдг: 8.0
cuDNN рд╕рдВрд╕реНрдХрд░рдг: v5.1
NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 384.111

рдПрдирд╡реАрдбрд┐рдпрд╛-рдПрд╕рдЖрдИ:
+ ------------------------------------------------- ---------------------------- +
| NVIDIA-SMI 384.111 рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 384.111 |
| ------------------------------- + ----------------- ----- + ---------------------- +
| GPU рдХрд╛ рдирд╛рдо рджреГрдврд╝рддрд╛-рдПрдо | рдмрд╕-рдЖрдИрдбреА Disp.A | рдЕрд╕реНрдерд┐рд░ рдЕрдирд┐рд╢реНрдЪрд┐рддред рдИрд╕реАрд╕реА |
| рдлреИрди рдЯреЗрдВрдк рдкрд░рдлреЗрдХреНрдЯ рдкреЛрд░: рдЙрдкрдпреЛрдЧ / рдХреИрдк | рд╕реНрдореГрддрд┐-рдЙрдкрдпреЛрдЧ | GPU-Util Compute рдПрдо |
| ================================= + |
| 0 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00001543: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 42C P0 41W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 1 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00003134: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 42C P0 39W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 2 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00004975: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 38C P0 41W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 3 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 0000F3E6: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 38C P0 40W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: CentOS Linux рд░рд┐рд▓реАрдЬрд╝ 7.1.1503
рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг: рдЬреАрд╕реАрд╕реА рд╕рдВрд╕реНрдХрд░рдг 4.8.2
CUDA рд╕рдВрд╕реНрдХрд░рдг: CUDA 8.0
cuDNN рд╕рдВрд╕реНрдХрд░рдг: cuDNN 6.0.21
NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 375.26
GPU рдореЙрдбрд▓: 4x GeForce GTX TITAN Xя╝Й 12G Ge

рдПрдирд╡реАрдбрд┐рдпрд╛-рдПрд╕рдЖрдИ:
image

Mask RCNN (e2e_mask_rcnn_R-101-FPN), рд░реЗрдЯрд┐рдирд╛рдиреЗрдЯ (retinanet_R-101-FPN) / рддреЗрдЬрд╝ RCNN (e2e_faster_rcnn_R-50-FPN) рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 4 рдЬреАрдкреАрдпреВ (0,1,2,3) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рддреНрд░реБрдЯрд┐ "рд╕рдВрджрд░реНрдн" : 307: рдПрдХ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ тАЭрдпрд╛тАЬ reference_gpu.h: 170ред рдПрдирдХрд╛рдЙрдВрдЯрд░ рдХрд┐рдП рдЧрдП CUDA рддреНрд░реБрдЯрд┐: рдПрдХ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдореЗрдВ рдСрдкрд░реЗрдЯрд░ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЗрдирдкреБрдЯ: "gpu_0 / retnet_cls_pred_fpn3_b_grad" рдЗрдирдкреБрдЯ: "gpu_2 / retnet_cls_pred_fpn3_b_grad" = рдЖрдЙрдЯрдкреБрдЯ: "gpu_0 / retnet_cls_cls_clr_prn_prpr_prn_prs_prs" : 0} тАЭрд╣реЛрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдПрдХ GPU рдпрд╛ рджреЛ GPUS (0,1 рдпрд╛ 2,3) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рджред

@jwsu : рдЖрдкрдХреА рддреНрд░реБрдЯрд┐ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП ("рдЕрдорд╛рдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдСрд░реНрдбрд┐рдирд▓"), рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк 8 рдЬреАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ 4 ( CUDA_VISIBLE_DEVICES рдорд╛рдзреНрдпрдо рд╕реЗ) рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ

@coolbrain , @tshizys : рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрджрд┐ рдЖрдк id {0,2}, {0,3}, {1,2}, рдпрд╛ {1,3} рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

@rbgirshick рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдХрд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (8 GPUs рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде) рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрдард╛рдпрд╛ред рдмрд╕ рд╕рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ (4 рдЬреАрдкреАрдпреВ, рдЬреАрдкреАрдпреВ рдЖрдИрдбреА рд╕реЗ рддреНрд░реБрдЯрд┐ "1,2,4,5", "0,1,2,3" рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ), рддреНрд░реБрдЯрд┐ рдЕрдм рдЙрд╕реА рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬреЛ рдЕрдиреНрдп рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ:

I0127 09:06:48.220716 10872 context_gpu.cu:325] Total: 20748 MB
terminate called after throwing an instance of 'caffe2::EnforceNotMet'
terminate called after throwing an instance of 'caffe2::EnforceNotMet'
  what():  [enforce fail at context_gpu.h:170] . Encountered CUDA error: an illegal memory access was encountered Error from operator: 
input: "gpu_0/retnet_bbox_pred_fpn3_b_grad" input: "gpu_2/retnet_bbox_pred_fpn3_b_grad" output: "gpu_0/retnet_bbox_pred_fpn3_b_grad" name: "" type: "Add" device_option { device_type: 1 cuda_gpu_id: 0 }
  what():  [enforce fail at context_gpu.h:170] . Encountered CUDA error: an illegal memory access was encountered Error from operator: 
input: "gpu_2/retnet_cls_conv_n3_fpn3" input: "gpu_2/__m13_shared" output: "gpu_2/__m13_shared" name: "" type: "ReluGradient" arg { name: "cudnn_exhaustive_search" i: 0 } arg { name: "order" s: "NCHW" } device_option { device_type: 1 cuda_gpu_id: 2 } engine: "CUDNN" is_gradient_op: true
*** Aborted at 1517072808 (unix time) try "date -d @1517072808" if you are using GNU date ***
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
terminate called recursively
PC: @     0x7fd71f6bd428 gsignal
*** SIGABRT (@0x3e900002a18) received by PID 10776 (TID 0x7fd548e3d700) from PID 10776; stack trace: ***
    @     0x7fd71fa63390 (unknown)
    @     0x7fd71f6bd428 gsignal
    @     0x7fd71f6bf02a abort
    @     0x7fd71b51c84d __gnu_cxx::__verbose_terminate_handler()
    @     0x7fd71b51a6b6 (unknown)
    @     0x7fd71b51a701 std::terminate()
    @     0x7fd71b545d38 (unknown)
    @     0x7fd71fa596ba start_thread
    @     0x7fd71f78f41d clone
    @                0x0 (unknown)
./itrain4.sh: line 9: 10776 Aborted                 (core dumped) python2 tools/train_net.py --multi-gpu-testing --cfg configs/iret-rn50-fpn-voc.yaml OUTPUT_DIR ./output

@coolbrain, @tshizys: рдЕрдВрдзреЗрд░реЗ рдореЗрдВ рдПрдХ рд╢реЙрдЯ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдХреЗ nccl рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рднреА рдХреЛ рдХрдо рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ USE_NCCL True рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП train_net.py , рдХреЗ рд░реВрдк рдореЗрдВ:

python2 tools/train_net.py --multi-gpu-testing \
  --cfg configs/getting_started/tutorial_2gpu_e2e_faster_rcnn_R-50-FPN.yaml \
  OUTPUT_DIR /tmp/output USE_NCCL True

рдЗрд╕рдХреЗ рд▓рд┐рдП Caffe2 рдХреЛ nccl ops рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ nccl рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде Caffe2 рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

@rbgshshick , рджреЛ рдЬреАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, {{0,2}, {0,3}, {1,2}, {1,3}, рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред рдпрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП {0,3} рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд░реЗрдЯрд┐рдирд╛рдиреЗрдЯ (рд░реЗрдЯрд┐рдирдиреЗрдЯ_рдЖрд░-101-рдПрдлрдкреАрдПрди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

F0128 12: 09: 08.461153 4938 рд╕рдВрджрд░реНрдн_gpu.cu:387] рдкрд░ рддреНрд░реБрдЯрд┐: /home/yszhu/local/caffe2/caffe2/core/context_gpu.u:387: рдПрдХ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛
* рд╡рд┐рдлрд▓рддрд╛ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдпрджрд┐ рдЖрдк GNU рджрд┐рдирд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ 1517112548 рдкрд░ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ (рдпреВрдирд┐рдХреНрд╕ рд╕рдордп) "рджрд┐рдирд╛рдВрдХ -d @ 1517112548" рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
'caffe2 :: EnforceNotMet' рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдлреЗрдВрдХрдиреЗ рдХреЗ рдмрд╛рдж рдмреБрд▓рд╛рдпрд╛ рд╕рдорд╛рдкреНрдд
рдХреНрдпрд╛ (): [enforce fail_gpu.h: 170 рдкрд░ рд╡рд┐рдлрд▓]ред рдПрдирдХрд╛рдЙрдВрдЯрд░ CUDA рддреНрд░реБрдЯрд┐: рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдСрдкрд░реЗрдЯрд░ рд╕реЗ рддреНрд░реБрдЯрд┐:
рдЗрдирдкреБрдЯ: "gpu_0 / fpn_6_relu" рдЗрдирдкреБрдЯ: "gpu_0 / fpn_7_w" рдЗрдирдкреБрдЯ: "gpu_0 / __ m23_sared" рдЖрдЙрдЯрдкреБрдЯ: "gpu_0 / fpn_7_w_grad" рдЖрдЙрдЯрдкреБрдЯ: "gpu_0 / fpn_7_grad_grad_grad_grad_grad"> рдЖрдЙрдЯрдкреБрдЯ_рдЧреНрд░реЗрдб рдХрд░реЗрдВред "arg {рдирд╛рдо:" рдХрд░реНрдиреЗрд▓ "i: 3} arg {рдирд╛рдо:" рдердХрд╛рдК_рд╕рд░реНрдЪ "i: 0} arg {рдирд╛рдо:" рдкреИрдб "i: 1} arg {рдирд╛рдо:" рдЖрджреЗрд╢ "s:" NCHW "} arg {рдирд╛рдо : "рд╕реНрдЯреНрд░рд╛рдЗрдб" i: 2} device_option {device_type: 1 cuda_gpu_id: 0} рдЗрдВрдЬрди: "CUDNN" is_gradient_op: true
@ 0x7f2bdf712772 google :: LogMessage :: Fail ()
рдкреАрд╕реА: @ 0x0 (рдЕрдЬреНрдЮрд╛рдд)
PID 4791 рд╕реЗ PID 4791 (TID 0x7f2a6effd700) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд SIGABRT (@ 0x3e8000012b7);
@ 0x7f2bdf7126ce google :: LogMessage :: SendToLog ()
@ 0x7f2c2670e130 (рдЕрдЬреНрдЮрд╛рдд)
@ 0x7f2bdf71204c google :: LogMessage :: Flush ()
@ 0x7f2c25c6a5d7 __GI_raise
@ 0x7f2bdf71556d google :: LogMessageFatal :: ~ LogMessageFatal ()
@ 0x7f2c25c6bcc8 __GI_abort
@ 0x7f2c1b1b1965 __gnu_cxx :: __ verbose_terminate_handler ()
@ 0x7f2bdfdd1180 caffe2 :: CUDAContext :: Delete ()
@ 0x7f2c1b1af946 (рдЕрдЬреНрдЮрд╛рдд)
@ 0x7f2be27f42d9 std :: _ Sp_counted_base <> :: _ M_rel_s ()
@ 0x7f2c1b1af973 std :: рд╕рдорд╛рдкреНрдд ()
@ 0x7f2c1b2062c5 (рдЕрдЬреНрдЮрд╛рдд)
@ 0x7f2bdfd377d1 caffe2 :: Tensor <> :: ResizeLike <> ()
@ 0x7f2c26706df5 start_thread
@ 0x7f2bdfd6e3e2 _ZN6caffe210CuDNNState7executeIRZNS_19CudnConvGradientOp13DoRunWithWypeFfffffffEbvEUPSPS0_E1_EEvP11CUstream_stot_stot
@ 0x7f2c25d2b1ad __clone
@ 0x7f2bdfd707e1 caffe2 :: CudnnConvGradientOp :: DoRunWithType <> ()
@ 0x0 (рдЕрдЬреНрдЮрд╛рдд)

image

рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рд╣рд░ рдмрд╛рд░ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл "рдПрдирдХрд╛рдЙрдВрдЯрд░ рдХрд┐рдП рдЧрдП CUDA рддреНрд░реБрдЯрд┐: рдПрдХ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛" рд╣реИред

рдореИрдВ nccl-1.3.5 рдХреЗ рд╕рд╛рде caffe2 рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рднреА рдХрд░рддрд╛ рд╣реВрдВ (https://caffe2.ai/docs/getting-started.html?platform=centos&configuration=cloud#null__troublesh рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рд╕рд╛рде)

image

рдФрд░ USE_NCCL рдЯреНрд░реВ рдХреЗ рд▓рд┐рдП n_l рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА-рдХрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рдЬреИрд╕реЗ:

python2 рдЙрдкрдХрд░рдг / train_net.py --multi-gpu-testing \
--cfg рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ / 12_2017_baselines / retinanet_R-101-FPN_1x_4gpus.yaml \
OUTPUT_DIR рдкрд░рд┐рдгрд╛рдо_retinanet_R-101-FPN_1x_4gpus_model USE_NCCL True

рддреНрд░реБрдЯрд┐ рдЪрд╛рд░-рдЬреАрдкреАрдпреВ {0,1,2,3} рдпрд╛ рдХрд┐рд╕реА рднреА рджреЛ рдЬреАрдкреАрдпреВ {0,2}, {0,3}, {1,2}, {1,3} рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИред
@rbgirshick , рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдирдорд╕реНрддреЗ, рдореИрдВ tutorial_network рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nccl рд╕реЗрд╢рди рдЦреЛрд▓рддрд╛ рд╣реВрдВ рдФрд░ рдКрдкрд░ рдХреА рддреНрд░реБрдЯрд┐ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рд░ рд╕рдордп 100% рд╕реАрдкреАрдпреВ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИред

.......
I0129 03: 25: 13.106998 118074 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2175 MB
I0129 03: 25: 13.107028 118074 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2078 рдПрдордмреА
I0129 03: 25: 13.107045 118074 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2266 рдПрдордмреА
I0129 03: 25: 13.107059 118074 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 3: 1860 MB
I0129 03: 25: 13.107072 118074 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 8381 рдПрдордмреА
I0129 03: 25: 13.122316 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2195 MB
I0129 03: 25: 13.122344 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2145 MB
I0129 03: 25: 13.122361 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2267 рдПрдордмреА
I0129 03: 25: 13.122378 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 3: 1924 MB
I0129 03: 25: 13.122395 118079 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 8532 рдПрдордмреА
I0129 03: 25: 13.151623 118079 рд╕рдВрджрд░реНрдн_ gpu.cu:321] GPU 0: 2245 MB
I0129 03: 25: 13.151650 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2159 рдПрдордмреА
I0129 03: 25: 13.152823 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2269 MB
I0129 03: 25: 13.153623 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 3: 2020 рдПрдордмреА
I0129 03: 25: 13.154454 118079 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 8694 рдПрдордмреА
I0129 03: 25: 13.186017 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2260 MB
I0129 03: 25: 13.186053 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2214 рдПрдордмреА
I0129 03: 25: 13.186067 118079 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2279 MB
I0129 03: 25: 13.186077 118079 рд╕рдВрджрд░реНрдн_ gpu.cu:321] GPU 3: 2080 MB
I0129 03: 25: 13.186089 118079 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 8835 рдПрдордмреА
I0129 03: 25: 13.215306 118076 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2310 MB
I0129 03: 25: 13.215342 118076 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2269 рдПрдордмреА
I0129 03: 25: 13.215351 118076 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2308 MB
I0129 03: 25: 13.215368 118076 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 3: 2081 MB
I0129 03: 25: 13.215384 118076 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 8970 рдПрдордмреА
I0129 03: 25: 13.307595 118084 рд╕рдВрджрд░реНрдн_ gpu.cu:321] GPU 0: 2310 рдПрдордмреА
I0129 03: 25: 13.307623 118084 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2301 рдПрдордмреА
I0129 03: 25: 13.307641 118084 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2391 MB
I0129 03: 25: 13.307652 118084 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 3: 2104 MB
I0129 03: 25: 13.307665 118084 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 9108 рдПрдордмреА
I0129 03: 25: 13.324935 118077 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2312 MB
I0129 03: 25: 13.324965 118077 рд╕рдВрджрд░реНрдн_ gpu.cu:321] GPU 1: 2313 рдПрдордмреА
I0129 03: 25: 13.324982 118077 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2452 MB
I0129 03: 25: 13.324993 118077 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 3: 2171 MB
I0129 03: 25: 13.325011 118077 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 9250 рдПрдордмреА
I0129 03: 25: 13.343673 118080 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2336 MB
I0129 03: 25: 13.343698 118080 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2380 MB
I0129 03: 25: 13.343715 118080 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2468 MB
I0129 03: 25: 13.343731 118080 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 3: 2233 MB
I0129 03: 25: 13.343747 118080 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 9417 рдПрдордмреА
I0129 03: 25: 13.369802 118085 cuda_nccl_gpu.cc:110] NCCLContext рдХреЛ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдмрдирд╛рдирд╛: 0: 0,1,2,3,
I0129 03: 25: 13.381914 118076 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2361 MB
I0129 03: 25: 13.381942 118076 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2453 рдПрдордмреА
I0129 03: 25: 13.381961 118076 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2524 рдПрдордмреА
I0129 03: 25: 13.381978 118076 рд╕рдВрджрд░реНрдн_ gpu.cu:321] GPU 3: 2247 MB
I0129 03: 25: 13.381995 118076 рд╕рдВрджрд░реНрдн_ gpu.cu:325] рдХреБрд▓: 9587 рдПрдордмреА
I0129 03: 25: 13.613253 118083 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2388 MB
I0129 03: 25: 13.613292 118083 рд╕рдВрджрд░реНрдн_ gpu.cu:321] GPU 1: 2525 рдПрдордмреА
I0129 03: 25: 13.613301 118083 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2524 MB
I0129 03: 25: 13.613308 118083 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 3: 2310 MB
I0129 03: 25: 13.613315 118083 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 9748 рдПрдордмреА

рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ ......

рдореЗрд░рд╛ рд╡рд╛рддрд╛рд╡рд░рдг:
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: Ubuntu 16.04
рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг: gcc (рдЙрдмрдВрдЯреВ 5.4.0-6ubuntu1 ~ 16.04.4) 5.4.0
CUDA рд╕рдВрд╕реНрдХрд░рдг: 8.0
cuDNN рд╕рдВрд╕реНрдХрд░рдг: v5.1
NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 384.111

рдПрдирд╡реАрдбрд┐рдпрд╛-рдПрд╕рдЖрдИ:
+ ------------------------------------------------- ---------------------------- +
| NVIDIA-SMI 384.111 рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 384.111 |
| ------------------------------- + ----------------- ----- + ---------------------- +
| GPU рдХрд╛ рдирд╛рдо рджреГрдврд╝рддрд╛-рдПрдо | рдмрд╕-рдЖрдИрдбреА Disp.A | рдЕрд╕реНрдерд┐рд░ рдЕрдирд┐рд╢реНрдЪрд┐рддред рдИрд╕реАрд╕реА |
| рдлреИрди рдЯреЗрдВрдк рдкрд░рдлреЗрдХреНрдЯ рдкреЛрд░: рдЙрдкрдпреЛрдЧ / рдХреИрдк | рд╕реНрдореГрддрд┐-рдЙрдкрдпреЛрдЧ | GPU-Util Compute рдПрдо |
| ================================= + |
| 0 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00001543: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 42C P0 41W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 1 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00003134: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 42C P0 39W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 2 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00004975: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 38C P0 41W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 3 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 0000F3E6: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 38C P0 40W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +

@lwher : рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИред рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдирд╕реАрд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЧрддрд┐рд░реЛрдз рдкреИрджрд╛ рдХрд░рдиреЗ рдХрд╛ рдЦрддрд░рд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред

NCCL рдХреЗ рд╕рд╛рде caffe2 рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж er рдореИрдВ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдБ 2
рдЕрдЬрдЧрд░ рдЙрдкрдХрд░рдг / train_net.py \
--рдореБрд▓реНрдЯреА-рдЬреАрдкреАрдпреВ-рдкрд░реАрдХреНрд╖рдг \
--cfg рдХреЙрдиреНрдлрд┐рдЧ / get_started / tutorial_4gpu_e2e_faster_rcnn_R-50-FPN.yaml \
OUTPUT_DIR ./output USE_NCCL рд╕рдЪ рд╣реИ

рдпрд╣ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ я╝Ъ

рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП NCCLContext рдмрдирд╛рдирд╛: 0: 0,1,2,3,
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
рдЪреЗрддрд╛рд╡рдиреА:

рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ libnvidia-ml.so рдХреЗ рд╕рд╛рде рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдерд╛рдкрд┐рдд рд╣реИ
NVIDIA рдкреНрд░рджрд░реНрд╢рди рдЪрд╛рд▓рдХред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ / usr / lib рдФрд░ / usr / lib64 рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
GDK рдкреИрдХреЗрдЬ рдореЗрдВ libnvidia-ml.so рдПрдХ рд╕реНрдЯрдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдХреЗ рд▓рд┐рдП рд╕рдВрд▓рдЧреНрди рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЙрджреНрджреЗрд╢реНрдп (рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдорд╢реАрди рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ
рдкреНрд░рджрд░реНрд╢рди рдЪрд╛рд▓рдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'caffe2 :: EnforceNotMet' рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдлреЗрдВрдХрдиреЗ рдХреЗ рдмрд╛рдж рдмреБрд▓рд╛рдпрд╛ рд╕рдорд╛рдкреНрдд
рдХреНрдпрд╛ (): [рд▓рд╛рдЧреВ cuda_nccl_gpu.cc:40] рд╕реНрдерд┐рддрд┐ == ncclSuccess рдкрд░ рд╡рд┐рдлрд▓ред 2 рдмрдирд╛рдо 0. рддреНрд░реБрдЯрд┐: /mnt/hzhida/project/caffe2/caffe2/contrib/nccl/cuda_nccl_gpu.cc40: рд╕рд┐рд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рдСрдкрд░реЗрдЯрд░ рд╕реЗ рддреНрд░реБрдЯрд┐:
рдЗрдирдкреБрдЯ: "gpu_0 / rpn_cls_logits_fpn2_w_grad" рдЗрдирдкреБрдЯ: "gpu_1 / rpn_cls_logits_fpn2_w_grad" рдЗрдирдкреБрдЯ: "gpu_2 / rpn_cls_logits_fpn2_w_grad" рдЗрдирдкреБрдЯ: "gpu_3 / rpn_cls_logits_fpn2_w_grad" рдЙрддреНрдкрд╛рджрди: "gpu_0 / rpn_cls_logits_fpn2_w_grad" рдЙрддреНрдкрд╛рджрди: "gpu_1 / rpn_cls_logits_fpn2_w_grad" рдЙрддреНрдкрд╛рджрди: "gpu_2 / rpn_cls_logits_fpn2_w_grad" рдЖрдЙрдЯрдкреБрдЯ : "gpu_3 / rpn_cls_logits_fpn2_w_grad" рдирд╛рдо: "" рдкреНрд░рдХрд╛рд░: "NCCLAllreduce" device_option {device_type: 1 cuda_gad_id: 0}
* 1517210588 рдкрд░ рд░рджреНрдж рдХрд░реЗрдВ (рдпреВрдирд┐рдХреНрд╕ рд╕рдордп) "рджрд┐рдирд╛рдВрдХ -15 @ 1517210588" рдЖрдЬрд╝рдорд╛рдПрдВ
рдкреАрд╕реА: @ 0x7ff1e0383428 gsignal
SIDABRT (@ 0x3e800007a46) PID 31302 (TID 0x7fefb5ffb700) рдкреАрдЖрдИрдбреА тАЛтАЛ31302 рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛;
I0129 07: 23: 08.187249 31591 cuda_nccl_gpu.cc:110] рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП NCCLContext рдмрдирд╛рдирд╛: 0: 0,1,2,3,

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
рдЪреЗрддрд╛рд╡рдиреА:

рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ libnvidia-ml.so рдХреЗ рд╕рд╛рде рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдерд╛рдкрд┐рдд рд╣реИ
NVIDIA рдкреНрд░рджрд░реНрд╢рди рдЪрд╛рд▓рдХред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ / usr / lib рдФрд░ / usr / lib64 рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
GDK рдкреИрдХреЗрдЬ рдореЗрдВ libnvidia-ml.so рдПрдХ рд╕реНрдЯрдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдХреЗ рд▓рд┐рдП рд╕рдВрд▓рдЧреНрди рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЙрджреНрджреЗрд╢реНрдп (рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдорд╢реАрди рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ
рдкреНрд░рджрд░реНрд╢рди рдЪрд╛рд▓рдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
@ 0x7ff1e0729390 (рдЕрдЬреНрдЮрд╛рдд)
I0129 07: 23: 08.188051 31592 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 0: 2466 MB
I0129 07: 23: 08.188074 31592 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 1: 2387 рдПрдордмреА
I0129 07: 23: 08.188091 31592 рд╕рдВрджрд░реНрдн_gpu.cu:321] GPU 2: 2311 рдПрдордмреА
I0129 07: 23: 08.188099 31592 рд╕рдВрджрд░реНрдн_ gpu.cu:321] GPU 3: 2382 рдПрдордмреА
I0129 07: 23: 08.188107 31592 рд╕рдВрджрд░реНрдн_gpu.cu:325] рдХреБрд▓: 9548 рдПрдордмреА
@ 0x7ff1e0383428 gsignal
@ 0x7ff1e038502a рдЧрд░реНрднрдкрд╛рдд
@ 0x7ff1da16284d __gnu_cxx :: __ verbose_terminate_ler ()
@ 0x7ff1da1606b6 (рдЕрдЬреНрдЮрд╛рдд)
@ 0x7ff1da160701 std :: рд╕рдорд╛рдкреНрдд ()
@ 0x7ff1da18bd38 (рдЕрдЬреНрдЮрд╛рдд)
@ 0x7ff1e071f6ba start_thread
@ 0x7ff1e045541d рдХреНрд▓реЛрди
@ 0x0 (рдЕрдЬреНрдЮрд╛рдд)
рдирд┐рд░рд╕реНрдд (рдХреЛрд░ рдбрдВрдк)

рдЪрд▓ рд░рд╣рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг я╝Ъ
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: Ubuntu 16.04
рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг: gcc (рдЙрдмрдВрдЯреВ 5.4.0-6ubuntu1 ~ 16.04.4) 5.4.0
CUDA рд╕рдВрд╕реНрдХрд░рдг: 8.0
cuDNN рд╕рдВрд╕реНрдХрд░рдг: v5.1
NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 384.111

рдПрдирд╡реАрдбрд┐рдпрд╛-рдПрд╕рдЖрдИ:
+ ------------------------------------------------- ---------------------------- +
| NVIDIA-SMI 384.111 рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 384.111 |
| ------------------------------- + ----------------- ----- + ---------------------- +
| GPU рдХрд╛ рдирд╛рдо рджреГрдврд╝рддрд╛-рдПрдо | рдмрд╕-рдЖрдИрдбреА Disp.A | рдЕрд╕реНрдерд┐рд░ рдЕрдирд┐рд╢реНрдЪрд┐рддред рдИрд╕реАрд╕реА |
| рдлреИрди рдЯреЗрдВрдк рдкрд░рдлреЗрдХреНрдЯ рдкреЛрд░: рдЙрдкрдпреЛрдЧ / рдХреИрдк | рд╕реНрдореГрддрд┐-рдЙрдкрдпреЛрдЧ | GPU-Util Compute рдПрдо |
| ================================= + |
| 0 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00001543: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 42C P0 41W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 1 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00003134: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 42C P0 39W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 2 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 00004975: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 38C P0 41W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 3 рдЯреЗрд╕реНрд▓рд╛ рдПрдо 60 рдСрдл | 0000F3E6: 00: 00.0 рдмрдВрдж | рдмрдВрдж |
| N / A 38C P0 40W / 150W | 0MiB / 8123MiB | 0% рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
+ ------------------------------- + ----------------- ----- + ---------------------- +

NCCL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЛрдЯ: Caffe2 рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ NCCL рдХреЗ рд╕рд╛рде рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рдкрд░ рдХреВрджрдирд╛: рдЪреВрдВрдХрд┐ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдПрдб рдСрдкрд░реЗрдЯрд░ рд╕реЗ рд╣реИ, рдЖрдк рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЬрд┐рд╕ рдкреАрдпреВрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдмреАрдЪ рдбрд╛рдпрд░реЗрдХреНрдЯ рдкреАрдпрд░ рдПрдХреНрд╕реЗрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╡рд░реНрддрдорд╛рди рдРрдб рдСрдк рдЙрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдирд╣реАрдВ рддреЛ рд╣рдо рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдЬрдЧрд░ рдореЗрдВ, рдХрд░реЗрдВ:

from caffe2.python import workspace
print(workspace.GetCudaPeerAccessPattern())

рдХреНрдпрд╛ рдЖрдк рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдк CUDA_VISIBLE_DEVICES рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рдж рднреА рдЕрдЬрдЧрд░ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддреЗ рд╣реИрдВ)

рдЕрдкрдиреЗ рджреЛ рдбрд┐рдмрдЧ рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ @Yangqing рдЙрддреНрдкрд╛рджрди:
[[ True True False False] [ True True False False] [False False True True] [False False True True]]
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП thx (рдФрд░ ... caffe / caffe2 рдЪреМрдЦрдЯреЗ!)

@jwnsu рдзрдиреНрдпрд╡рд╛рдж! рдмрд╕ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЬреЛрдбрд╝реЗрдВ рдСрдкрд░реЗрдЯрд░ gpu {0,1} рдФрд░ {2,3} рдХреЗ рджрд╛рдИрдВ рдУрд░ рджрд╕рд┐рдпреЛрдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ? (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ 4 gpus рд╕реЗ рдПрдХ рд╕рд╛рде рд╕рд╛рдорд╛рди рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ)ред

рдпрд╣ 4 gpus рдХреЙрдиреНрдлрд┐рдЧрд░ рд╣реИ, GPU рдЖрдИрдбреА рдХреЗ рд╕рд╛рде "0,1,2,4" (CUDA_VISIBLE_DEVICES рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред рдпрджрд┐ GPU id рдХреЛ "0,1,2,3" (рд╕рдмрд╕реЗ рдХрдо GPU рдЖрдИрдбреА) рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХреЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ред

@Yangqing
рдореЗрд░реЗ рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡рд░ рдореЗрдВ 4 M60 GPU рд╣реИрдВ,
рдпрд╣ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╣реИред GetCudaPeerAccessPattern () рдЖрдЙрдЯрдкреБрдЯ:
[[рд╕рдЪ рдЭреВрдареА рдЭреВрдареА
[рдЭреВрдареА рдЭреВрдареА рдЭреВрдареА
[рдЭреВрдареА рдЭреВрдареА рдЭреВрдареА
[рдЭреВрдареА рдЭреВрдареА рдЭреВрдареА]

рдореИрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ 1 gpu рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЯ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ 2 рдпрд╛ 4 GPUS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЯ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореИрдВ NCCL = True рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ

рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВред рдпрд╣ рдореЗрд░реА рдзрд╛рд░рдгрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрд╡реИрдз рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдРрдб-рдУрдк рд╕реЗ рдЖрддрд╛ рд╣реИ, рдЬрдм рдкреАрдпрд░ рдПрдХреНрд╕реЗрд╕ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрд░реЙрд╕-рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдВрдЪрд╛рд░ рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рдирд╣реАрдВ рд╣реИред рдлрд┐рдХреНрд╕ рдЬрд╛рд░реА рдХрд░реЗрдВрдЧреЗред

рдХреНрд░реЙрд╕-рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ ...
рдпрд╣ рдорд╢реАрди 4 GPU [0,1,2,3] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ:
image
рдпрд╣ рдорд╢реАрди [0,1] рдФрд░ [2,3] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ:
image

BTW, рдореЗрд░реЗ рдкрд╛рд╕ 12 рд╕реАрдкреАрдпреВ рдФрд░ 4 рдЯрд╛рдЗрдЯрди рдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ 3 рдбреА рдлрд╛рд╕реНрдЯрд░ рдЖрд░рд╕реАрдПрдирдПрди рдХреЛ рдкрд╛рдЗрд░реЙрдЪ рдврд╛рдВрдЪреЗ рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдХреНрдпреЛрдВ Pytorch рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ ????

@Yangqing рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдорд▓реНрдЯреА-рдЬреАрдкреАрдпреВ рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрдм рддрдХ рдХреНрд░реЙрд╕-рдЬреАрдкреАрдпреВ рд╕рдВрдЪрд╛рд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░реЗрдВрдЧреЗ? рдзрдиреНрдпрд╡рд╛рджред

@Yangqing рдореИрдВ рдКрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореЗрд░реЗ рд▓рд┐рдирдХреНрд╕ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдореЗрдВ 2 GTX-1080Ti рд╣реИрдВред рддреНрд░реБрдЯрд┐ infos рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ:
[enforce fail at context_gpu.h:170] . Encountered CUDA error: an illegal memory access was encountered Error from operator: input: "gpu_0/rpn_cls_logits_fpn2_b_grad" input: "gpu_1/rpn_cls_logits_fpn2_b_grad" output: "gpu_0/rpn_cls_logits_fpn2_b_grad" name: "" type: "Add" device_option { device_type: 1 cuda_gpu_id: 0 }
рдФрд░ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ред GetCudaPeerAccessPattern () рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:
[[рд╕рд╣реА рдЧрд▓рдд]
[рд╕рдЪреНрдЪрд╛ рдЭреВрдард╛]]
рдХреНрдпрд╛ рдпрд╣ рдХреНрд░реЙрд╕-рдЬреАрдкреАрдпреВ рд╕рдВрдЪрд╛рд░ рд╕рдорд╕реНрдпрд╛ рднреА рд╣реИ? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреЛрдИ рднреА рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рджред

рд╣рд╛рдБ the рдпрд╣ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреНрд░реЙрд╕-рдЬреАрдкреАрдпреВ рдореЗрдВ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЬреАрдкреАрдпреВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рдЖрдк GPU рд╕реЗ CPU рдореЗрдВ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯреНрд╕ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝ рджреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдФрд╕рдд рдХрд░реЗрдВред рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕реАрдкреАрдпреВ рд╕реЗ рдЬреАрдкреАрдпреВ рддрдХ рдФрд╕рдд рдврд╛рд▓ рдХреЙрдкреА рдХрд░реЗрдВред @blateyang

рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! @ рдХреВрд▓рдмреНрд░реЗрди рдХреНрдпрд╛ рд╡реЗ рдПрдХ рд╣реА рдХреНрд░реЙрд╕-рдЬреАрдкреАрдпреВ рд╕рдВрдЪрд╛рд░ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓реЗ рдереЗ?

рдпрд╛ рддреЛ рд╕рдмрд╕реЗ рдХрдо GPU рдЖрдИрдбреА (0,1,2,3) рдпрд╛ рдЙрдЪреНрдЪрддрдо GPU рдЖрдИрдбреА (4,5,6,7) рдХреЗ рд╕рд╛рде 4 рдЬреАрдкреАрдпреВ рдХрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдпрд╣рд╛рдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (8 gpus рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред ) рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рдЖрдИрдбреА рдХреЗ рдорд┐рд╢реНрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬреИрд╕реЗ "0,1,2,4" рдпрд╛ "1,3,5,7"ред

рд╕рдВрджрд┐рдЧреНрдз caffe2 рдХреНрд░реЙрд╕-рдЬреАрдкреАрдпреВ рд╕рдВрдЪрд╛рд░ рд╕рдорд╕реНрдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддреА рд╣реИ (рдкрд╣рд▓реЗ рдмрддрд╛рдП рдЧрдП рдлреЗрд╕рдмреБрдХ M40 рд╕рд░реНрд╡рд░ рдЖрдИрдбреА рдХреЗ рдорд┐рд╢реНрд░рдг рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред

рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд▓реЗрдХрд░ рдЖрдУред рдХреНрдпрд╛ рдпрд╣ рддрдп рд╣реИ?

рдореИрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкрд░ 4 GTX 1080TI GPUS рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рд╕реЗ рдорд┐рд▓рд╛ред рдорд▓реНрдЯреА-рдЬреАрдкреАрдпреВ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреИрдл рдФрд░ рдЯреЗрдВрд╕реЛрд░рдлреНрд▓реЛред
рдпрд╣ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╣реИред GetCudaPeerAccessPattern () рдЖрдЙрдЯрдкреБрдЯ:
[[рд╕рдЪреНрдЪрд╛ рд╕рдЪреНрдЪрд╛ рдЭреВрдард╛ рдЭреВрда]
[рд╕рдЪ рд╕рдЪ рдЧрд▓рдд рдЭреВрдареА]
[рдЕрд╕рддреНрдп рдЕрд╕рддреНрдп рд╕рдЪ рд╕рдЪ]
[рдЭреВрдареА рдЭреВрдареА рд╕рдЪреНрдЪреА]
рджреЛ-gpu рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди ({0,1} рдпрд╛ {2,3} рдХреЗ рд╕рд╛рде) рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреАрди рдпрд╛ рдЪрд╛рд░ gpus рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореЗрд░реА рддреНрд░реБрдЯрд┐ Add рд╕рдВрдЪрд╛рд▓рди рдкрд░ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдкреНрд░рдХрд╛рд░ Copy

рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ?

@rbgirshick рд╣рд╛рдп, рдореИрдВ

@Yangqing рд╣рд╛рдп, рдореИрдВ Copy рдСрдкрд░реЗрдЯрд░ рдореЗрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдорд┐рд▓рд╛ред
рдЬрдм рдореИрдВ USE_NCCL True рдзреНрд╡рдЬ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛, рддреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

E0325 02:26:02.258566  8284 operator_schema.cc:73] Input index 0 and output idx 0 (gpu_0/res3_0_branch2a_w_grad) are set to be in-place but this is actually not supported by op Copy
Original python traceback for operator 2817 in network `generalized_rcnn` in exception above (most recent call last):
  File "tools/train_net.py", line 358, in <module>
  File "tools/train_net.py", line 196, in main
  File "tools/train_net.py", line 205, in train_model
  File "tools/train_net.py", line 283, in create_model
  File "/home/shuqin/git/RefineNet/lib/modeling/model_builder.py", line 120, in create
  File "/home/shuqin/git/RefineNet/lib/modeling/model_builder.py", line 92, in generalized_rcnn
  File "/home/shuqin/git/RefineNet/lib/modeling/model_builder.py", line 254, in build_generic_detection_model
  File "/home/shuqin/git/RefineNet/lib/modeling/optimizer.py", line 42, in build_data_parallel_model
  File "/home/shuqin/git/RefineNet/lib/modeling/optimizer.py", line 84, in _add_allreduce_graph
  File "/home/shuqin/git/caffe2/build/caffe2/python/muji.py", line 64, in Allreduce
  File "/home/shuqin/git/caffe2/build/caffe2/python/muji.py", line 204, in AllreduceFallback
Traceback (most recent call last):
  File "tools/train_net.py", line 358, in <module>
    main()
  File "tools/train_net.py", line 196, in main
    checkpoints = train_model()
  File "tools/train_net.py", line 210, in train_model
    setup_model_for_training(model, output_dir)
  File "tools/train_net.py", line 316, in setup_model_for_training
    workspace.CreateNet(model.net)
  File "/home/shuqin/git/caffe2/build/caffe2/python/workspace.py", line 166, in CreateNet
    StringifyProto(net), overwrite,
  File "/home/shuqin/git/caffe2/build/caffe2/python/workspace.py", line 192, in CallWithExceptionIntercept
    return func(*args, **kwargs)
RuntimeError: [enforce fail at operator.cc:125] schema->Verify(operator_def). Operator def did not pass schema checking: input: "gpu_0/res3_0_branch2a_w_grad" output: "gpu_0/res3_0_branch2a_w_grad" name: "" type: "Copy" device_option { device_type: 1 cuda_gpu_id: 0 }

рдпрджрд┐ рдореИрдВрдиреЗ USE_NCCL True рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛, рддреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдмрди рдЬрд╛рддреА рд╣реИрдВ:

Original python traceback for operator 2928 in network `generalized_rcnn` in exception above (most recent call last):
  File "tools/train_net.py", line 358, in <module>
  File "tools/train_net.py", line 196, in main
  File "tools/train_net.py", line 205, in train_model
  File "tools/train_net.py", line 283, in create_model
  File "/home/shuqin/git/RefineNet/lib/modeling/model_builder.py", line 120, in create
  File "/home/shuqin/git/RefineNet/lib/modeling/model_builder.py", line 92, in generalized_rcnn
  File "/home/shuqin/git/RefineNet/lib/modeling/model_builder.py", line 254, in build_generic_detection_model
  File "/home/shuqin/git/RefineNet/lib/modeling/optimizer.py", line 42, in build_data_parallel_model
  File "/home/shuqin/git/RefineNet/lib/modeling/optimizer.py", line 82, in _add_allreduce_graph
Traceback (most recent call last):
  File "tools/train_net.py", line 358, in <module>
    main()
  File "tools/train_net.py", line 196, in main
    checkpoints = train_model()
  File "tools/train_net.py", line 217, in train_model
    workspace.RunNet(model.net.Proto().name)
  File "/home/shuqin/git/caffe2/build/caffe2/python/workspace.py", line 230, in RunNet
    StringifyNetName(name), num_iter, allow_fail,
  File "/home/shuqin/git/caffe2/build/caffe2/python/workspace.py", line 192, in CallWithExceptionIntercept
    return func(*args, **kwargs)
RuntimeError: [enforce fail at cuda_nccl_gpu.cc:40] status == ncclSuccess. 2 vs 0.  Error at: /home/shuqin/git/caffe2/caffe2/contrib/nccl/cuda_nccl_gpu.cc40: system error Error from operator:
input: "gpu_0/rpn_cls_logits_fpn2_b_grad" input: "gpu_1/rpn_cls_logits_fpn2_b_grad" input: "gpu_2/rpn_cls_logits_fpn2_b_grad" output: "gpu_0/rpn_cls_logits_fpn2_b_grad" output: "gpu_1/rpn_cls_logits_fpn2_b_grad" output: "gpu_2/rpn_cls_logits_fpn2_b_grad" name: "" type: "NCCLAllreduce" device_option { device_type: 1 cuda_gpu_id: 0 }

рдореЗрд░рд╛ рд╕рд┐рд╕реНрдЯрдо Ubuntu 14.04 рд╣реИ, рдЬрд┐рд╕рдореЗрдВ Cuda 8.0 рдФрд░ Cudnn 5.1 рд╣реИред рдореЗрд░реА рдорд╢реАрди рдореЗрдВ 8 рдЬреАрдкреАрдпреВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо 4 рдкрд░ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬреАрдкреАрдпреВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдореИрдВ CUDA 8.0 рдХреЗ рд▓рд┐рдП NCCL 2.1.15 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЬрд▓реНрдж рд╣реА рдареАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ, рд╣реИ рдирд╛?

рдорд▓реНрдЯреА-рдЬреАрдкреАрдпреВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди 'USE_NCLL рдЯреНрд░реВ' рдЬреЛрдбрд╝рдХрд░, рдореИрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдирд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрднреА-рдХрднреА рдЧрддрд┐рд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдЦрдиреЗ рдХреА рджрд░ рдЬреИрд╕реЗ рдХреБрдЫ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреИрд░рд╛рдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред

@xieshuqin рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ 'рд╕реНрдерд┐рддрд┐ == ncclSuccess рд╕реЗ рдорд┐рд▓рд╛ред 2 рдмрдирд╛рдо 0. ' рдЬрдм рдЖрдк 'USE_NCCL True' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ? рдзрдиреНрдпрд╡рд╛рдж

@pkuxwguan рдореЗрд░рд╛ рдореБрджреНрджрд╛ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ред рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд░рдирд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдПрдирд╕реАрд╕реАрдПрд▓ рдХреА рдЧрд▓рдд рд╕реНрдерд╛рдкрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рдп рд╕рдм, рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ, рддреЛ рдореИрдВ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рддрдп рдХрд┐рдпрд╛ред https://github.com/pytorch/pytorch/pull/6896 рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ :)

рдХреЛрдИ рднреА рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдЬреАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдорд╛рд╕реНрдХ рдЖрд░-рдПрдирдПрдирдПрди рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ?

@daquexian рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдкреАрдЖрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ !!! рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

@daquexian рдпрд╣ рдкреАрдЖрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ NCCL рдХреЗ рдмрд┐рдирд╛ рдПрдХ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдФрд░ USE_NCCL True рд╕рд╛рде 2 GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЧрддрд┐рд░реЛрдз рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдкрдиреЗ рдкреАрдЖрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ muji.py рдмрджрд▓рдиреЗ рдФрд░ USE_NCCL True рд╕рд╛рде 2 GPU рдХреЗ рд╕рд╛рде рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрднреА рднреА рдПрдХ рдЧрддрд┐рд░реЛрдз рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ; рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗрд╡рд▓ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░ рд╡рд┐рд░рд╛рдо рджреЗрддрд╛ рд╣реИред

рдЖрдкрдХреА рдХреЛрд╢рд┐рд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :) рдЖрдкрдХреЛ USE_NCCL = рд╕рд╣реА рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рдЖрдк рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдкреНрд░ред NCCL рдФрд░ "рдореНрдпреВрдЬреА" рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ gpu рд╕рдВрдЪрд╛рд░ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВред рдореЗрд░рд╛ рдкреАрдЖрд░ рдПрдХ рд╣реИ
muji рдХреЗ рд▓рд┐рдП рдкреИрдЪ, рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ gpu рд╕рд╣рдХрд░реНрдореА рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ nccl рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рдмрд╕ USE_NCCL = рдЧрд▓рдд рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдореЗрд░рд╛ рдЬрдирд╕рдВрдкрд░реНрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдмреБрдз рдкрд░, 2 рдордИ, 2018, 2:51 AM рдереЙрдорд╕ рдмрд╛рд▓рд╕реНрддрд░реА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@daquexian https://github.com/daquexian рдпрд╣ рдкреАрдЖрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдореЗрд░реЗ рд▓рд┐рдПред рдореИрдВ NCCL рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╣реА GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЧрддрд┐рд░реЛрдз рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рдФрд░ USE_NCCL рдЯреНрд░реВ рдХреЗ рд╕рд╛рде 2 GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рднреАред Muji.py рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж
рдЖрдкрдХреЗ PR рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдФрд░ USE_NCCL рдЯреНрд░реВ рдХреЗ рд╕рд╛рде 2 GPU рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдореИрдВ
рдЕрднреА рднреА рдПрдХ рдЧрддрд┐рд░реЛрдз рдХрд╛ рдЕрдиреБрднрд╡; рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗрд╡рд▓ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рд░реЛрдХ рджреЗрддрд╛ рд╣реИ
рд╕рдВрдЦреНрдпрд╛ред

-
рдЖрдк рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/facebookresearch/Detectron/issues/32#issuecomment-385755468 ,
рдпрд╛ рдзрд╛рдЧрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ALEcn2nGO9e-fIF8S3bTDNkK4370hjOVks5tuK7DgaJpZM4Rscunn
ред

рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ USE_NCCL = рдЧрд▓рдд рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдкрдиреЗ рд╕рдВрд╢реЛрдзрд┐рдд muji.py рдФрд░ muji_test.py PR рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдореВрд▓ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:

I0502 14:35:57.192476 79712 context_gpu.cu:318] Total: 23025 MB
E0502 14:35:58.382604 79711 net_dag.cc:195] Exception from operator chain starting at '' (type 'Add'): caffe2::EnforceNotMet: [enforce fail at context_gpu.h:156] . Encountered CUDA error: an illegal memory access was encountered Error from operator: 
input: "gpu_0/rpn_cls_logits_fpn2_b_grad" input: "gpu_1/rpn_cls_logits_fpn2_b_grad" output: "gpu_0/rpn_cls_logits_fpn2_b_grad" name: "" type: "Add" device_option { device_type: 1 cuda_gpu_id: 0 }
E0502 14:35:58.382622 79712 net_dag.cc:195] Secondary exception from operator chain starting at '' (type 'Add'): caffe2::EnforceNotMet: [enforce fail at context_gpu.h:156] . Encountered CUDA error: an illegal memory access was encountered Error from operator: 
input: "gpu_0/rpn_cls_logits_fpn2_w_grad" input: "gpu_1/rpn_cls_logits_fpn2_w_grad" output: "gpu_0/rpn_cls_logits_fpn2_w_grad" name: "" type: "Add" device_option { device_type: 1 cuda_gpu_id: 0 }
F0502 14:35:58.382670 79711 context_gpu.h:107] Check failed: error == cudaSuccess an illegal memory access was encountered
*** Check failure stack trace: ***
F0502 14:35:58.382683 79712 context_gpu.h:107] Check failed: error == cudaSuccess an illegal memory access was encountered
*** Check failure stack trace: ***
E0502 14:35:58.383510 79709 net_dag.cc:195] Secondary exception from operator chain starting at '' (type 'ConvGradient'): caffe2::EnforceNotMet: [enforce fail at context_gpu.cu:336] error == cudaSuccess. 77 vs 0. Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:336: an illegal memory access was encountered Error from operator: 
input: "gpu_1/fpn_res3_3_sum" input: "gpu_1/conv_rpn_fpn2_w" input: "gpu_1/__m18_shared" output: "_gpu_1/conv_rpn_fpn2_w_grad_autosplit_2" output: "_gpu_1/conv_rpn_fpn2_b_grad_autosplit_2" output: "_gpu_1/fpn_res3_3_sum_grad_autosplit_0" name: "" type: "ConvGradient" arg { name: "kernel" i: 3 } arg { name: "exhaustive_search" i: 0 } arg { name: "pad" i: 1 } arg { name: "order" s: "NCHW" } arg { name: "stride" i: 1 } device_option { device_type: 1 cuda_gpu_id: 1 } engine: "CUDNN" is_gradient_op: true
E0502 14:35:58.383541 79713 net_dag.cc:195] Secondary exception from operator chain starting at '' (type 'ConvGradient'): caffe2::EnforceNotMet: [enforce fail at conv_op_cudnn.cc:1290] status == CUDNN_STATUS_SUCCESS. 8 vs 0. , Error at: /home/markable-ai/pytorch/caffe2/operators/conv_op_cudnn.cc:1290: CUDNN_STATUS_EXECUTION_FAILED Error from operator: 
input: "gpu_3/conv_rpn_fpn4" input: "gpu_3/rpn_bbox_pred_fpn2_w" input: "gpu_3/rpn_bbox_pred_fpn4_grad" output: "_gpu_3/rpn_bbox_pred_fpn2_w_grad_autosplit_1" output: "_gpu_3/rpn_bbox_pred_fpn2_b_grad_autosplit_1" output: "gpu_3/__m13_shared" name: "" type: "ConvGradient" arg { name: "kernel" i: 1 } arg { name: "exhaustive_search" i: 0 } arg { name: "pad" i: 0 } arg { name: "order" s: "NCHW" } arg { name: "stride" i: 1 } device_option { device_type: 1 cuda_gpu_id: 3 } engine: "CUDNN" is_gradient_op: true
E0502 14:35:58.383591 79706 net_dag.cc:195] Secondary exception from operator chain starting at '' (type 'ConvGradient'): caffe2::EnforceNotMet: [enforce fail at context_gpu.cu:336] error == cudaSuccess. 77 vs 0. Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:336: an illegal memory access was encountered Error from operator: 
input: "gpu_3/conv_rpn_fpn3" input: "gpu_3/rpn_cls_logits_fpn2_w" input: "gpu_3/rpn_cls_logits_fpn3_grad" output: "_gpu_3/rpn_cls_logits_fpn2_w_grad_autosplit_2" output: "_gpu_3/rpn_cls_logits_fpn2_b_grad_autosplit_2" output: "_gpu_3/conv_rpn_fpn3_grad_autosplit_0" name: "" type: "ConvGradient" arg { name: "kernel" i: 1 } arg { name: "exhaustive_search" i: 0 } arg { name: "pad" i: 0 } arg { name: "order" s: "NCHW" } arg { name: "stride" i: 1 } device_option { device_type: 1 cuda_gpu_id: 3 } engine: "CUDNN" is_gradient_op: true
F0502 14:35:58.382683 79712 context_gpu.h:107] Check failed: error == cudaSuccess an illegal memory access was encounteredF0502 14:35:58.434631 79709 context_gpu.h:107] FCheck failed: error == cudaSuccess an illegal memory access was encountered0502 14:35:58.434648 79713 c*** Check failure stack trace: ***
E0502 14:35:58.383741 79700 net_dag.cc:195] Secondary exception from operator chain starting at '' (type 'ConvGradient'): caffe2::EnforceNotMet: [enforce fail at context_gpu.cu:336] error == cudaSuccess. 77 vs 0. Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:336: an illegal memory access was encountered Error from operator: 
input: "gpu_3/conv_rpn_fpn2" input: "gpu_3/rpn_cls_logits_fpn2_w" input: "gpu_3/rpn_cls_logits_fpn2_grad" output: "_gpu_3/rpn_cls_logits_fpn2_w_grad_autosplit_3" output: "_gpu_3/rpn_cls_logits_fpn2_b_grad_autosplit_3" output: "_gpu_3/conv_rpn_fpn2_grad_autosplit_0" name: "" type: "ConvGradient" arg { name: "kernel" i: 1 } arg { name: "exhaustive_search" i: 0 } arg { name: "pad" i: 0 } arg { name: "order" s: "NCHW" } arg { name: "stride" i: 1 } device_option { device_type: 1 cuda_gpu_id: 3 } engine: "CUDNN" is_gradient_op: true
Aborted (core dumped)

рдореИрдВ Cuda 9.1, cudnn 7.1 рдХрд╛ рдЙрдкрдпреЛрдЧ 4 V100s рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@ Feynman27 рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Allreduce4 , Allreduce4Group2 , Allreduce2 рдпрд╛ рдЕрдиреНрдп) рдиреЗ Allreduce рджрд░реНрдЬ рдХрд┐рдпрд╛ рд╣реИ? рдЖрдк рдЗрд╕реЗ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рд╢рд╛рдЦрд╛ рдореЗрдВ рдХреБрдЫ рдкреНрд░рд┐рдВрдЯ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЬрдЧрд╣ Allreduce рд╕рд┐рд░реНрдл рдлреЛрди рдХрд░рдХреЗ AllreduceFallback ? рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк https://github.com/facebookresearch/Detectron/issues/32#issuecomment -361739340 рдЬреИрд╕реЗ рдЕрдкрдиреЗ gpu рдПрдХреНрд╕реЗрд╕ рдкреИрдЯрд░реНрди рднреА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рдж!

Allreduce4 рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред Gpu рдкрд╣реБрдВрдЪ рдкреИрдЯрд░реНрди рд╣реИ:

>>> from caffe2.python import workspace
>>> print(workspace.GetCudaPeerAccessPattern())
[[ True False False False]
 [False  True False False]
 [False False  True False]
 [False False False  True]]

рдореИрдВ AllreduceFallback. рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛

AllreduceFallback рдХреЙрд▓ рдХрд░рдирд╛ рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ:

I0502 17:08:51.294476 88651 context_gpu.cu:318] Total: 22524 MB
E0502 17:08:52.009866 88659 net_dag.cc:195] Exception from operator chain starting at '' (type 'Add'): caffe2::EnforceNotMet: [enforce fail at context_gpu.h:156] . Encountered CUDA error: an illegal memory access was encountered Error from operator: 
input: "gpu_0/rpn_cls_logits_fpn2_w_grad" input: "gpu_1/rpn_cls_logits_fpn2_w_grad" output: "gpu_0/rpn_cls_logits_fpn2_w_grad" name: "" type: "Add" device_option { device_type: 1 cuda_gpu_id: 0 }
F0502 17:08:52.009990 88659 context_gpu.h:107] Check failed: error == cudaSuccess an illegal memory access was encountered
*** Check failure stack trace: ***
E0502 17:08:52.010440 88651 net_dag.cc:195] Secondary exception from operator chain starting at '' (type 'ConvGradient'): caffe2::EnforceNotMet: [enforce fail at context_gpu.cu:336] error == cudaSuccess. 77 vs 0. Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:336: an illegal memory access was encountered Error from operator: 
input: "gpu_2/fpn_res3_3_sum" input: "gpu_2/conv_rpn_fpn2_w" input: "gpu_2/__m15_shared" output: "_gpu_2/conv_rpn_fpn2_w_grad_autosplit_2" output: "_gpu_2/conv_rpn_fpn2_b_grad_autosplit_2" output: "_gpu_2/fpn_res3_3_sum_grad_autosplit_0" name: "" type: "ConvGradient" arg { name: "kernel" i: 3 } arg { name: "exhaustive_search" i: 0 } arg { name: "pad" i: 1 } arg { name: "order" s: "NCHW" } arg { name: "stride" i: 1 } device_option { device_type: 1 cuda_gpu_id: 2 } engine: "CUDNN" is_gradient_op: true
E0502 17:08:52.010524 88663 net_dag.cc:195] Secondary exception from operator chain starting at '' (type 'ConvGradient'): caffe2::EnforceNotMet: [enforce fail at context_gpu.cu:336] error == cudaSuccess. 77 vs 0. Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:336: an illegal memory access was encountered Error from operator: 
input: "gpu_1/fpn_res2_2_sum" input: "gpu_1/conv_rpn_fpn2_w" input: "gpu_1/__m12_shared" output: "_gpu_1/conv_rpn_fpn2_w_grad_autosplit_3" output: "_gpu_1/conv_rpn_fpn2_b_grad_autosplit_3" output: "_gpu_1/fpn_res2_2_sum_grad_autosplit_0" name: "" type: "ConvGradient" arg { name: "kernel" i: 3 } arg { name: "exhaustive_search" i: 0 } arg { name: "pad" i: 1 } arg { name: "order" s: "NCHW" } arg { name: "stride" i: 1 } device_option { device_type: 1 cuda_gpu_id: 1 } engine: "CUDNN" is_gradient_op: true
F0502 17:08:52.010545 88660 context_gpu.cu:387] Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:387: an illegal memory access was encountered
*** Check failure stack trace: ***
F0502 17:08:52.010545 88660 context_gpu.cu:387] Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:387: an illegal memory access was encounteredF0502 17:08:52.061641 88651 context_gpu.hF107] 502 17:Ch:ck failed: error == cudaSuccess 52.061651 88663 context_gpu.h:
E0502 17:08:52.010577 88653 net_dag.cc:195] Secondary exception from operator chain starting at '' (type 'ConvGradient'): caffe2::EnforceNotMet: [enforce fail at context_gpu.cu:336] error == cudaSuccess. 77 vs 0. Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:336: an illegal memory access was encountered Error from operator: 
input: "gpu_0/fpn_res4_22_sum" input: "gpu_0/conv_rpn_fpn2_w" input: "gpu_0/__m15_shared" output: "_gpu_0/conv_rpn_fpn2_w_grad_autosplit_1" output: "_gpu_0/conv_rpn_fpn2_b_grad_autosplit_1" output: "_gpu_0/fpn_res4_22_sum_grad_autosplit_0" name: "" type: "ConvGradient" arg { name: "kernel" i: 3 } arg { name: "exhaustive_search" i: 0 } arg { name: "pad" i: 1 } arg { name: "order" s: "NCHW" } arg { name: "stride" i: 1 } device_option { device_type: 1 cuda_gpu_id: 0 } engine: "CUDNN" is_gradient_op: true
*** Check failure stack trace: ***
F0502 17:08:52.010545 88660 context_gpu.cu:387] Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:387: an illegal memory access was encounteredF0502 17:08:52.061641 88651 context_gpu.hF107] 502 17:Ch:ck failed: error == cudaSuccess 52.061651 88663 context_gpu.h:
07] Check failed: error == cudaSuccess an illegal memory access was encountered
*** Check failure stack trace: ***
F0502 17:08:52.010545 88660 context_gpu.cu:387] Error at: /home/markable-ai/pytorch/caffe2/core/context_gpu.cu:387: an illegal memory access was encounteredF0502 17:08:52.061641 88651 context_gpu.hF107] 502 17:Ch:ck failed: error == cudaSuccess 52.061651 88663 context_gpu.h:
07] Check failed: error == cudaSuccess an illegal memory access was encounteredF0502 17:08:52.061749 88653 context_gpu.h:107] Check failed: error == cudaSuccess an illegal memory access was encountered
*** Check failure stack trace: ***
Aborted (core dumped

@ Feynman27 рдпрд╣ рдЕрдЬреАрдм рд╣реИред рдЖрдкрдХреЗ gpu рдПрдХреНрд╕реЗрд╕ рдкреИрдЯрд░реНрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, AllreduceFallback рдмрдЬрд╛рдп Allreduce4 рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЬрдм рдЖрдкрдиреЗ AllreduceFallback рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛, рддреЛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ AllreduceFallback рд╕реЗ рдирд╣реАрдВ рдЖрдпрд╛ред рдХреНрдпрд╛ рдЖрдкрдиреЗ рд░рд╛рдЗрдЯ рдлреЛрд▓реНрдбрд░ рдореЗрдВ muji.py рдХреЛ рдмрджрд▓рд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, caffe2 рдХрд╛ рдЕрдЬрдЧрд░ рдкреИрдХреЗрдЬ рдореЗрдВ рд╣реИ рдЕрдЧрд░ /usr/lib/python/site-packages/caffe2 , рддреЛ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ muji.py caffe2 рдХреЗ рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ (рдЬреИрд╕реЗ ~/caffe2/python ) рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

@ Feynman27 рдХреНрдпрд╛ рдЖрдкрдиреЗ

@daquexian caffe2 рдкреИрдХреЗрдЬ pytorch/caffe2 рддрд╣рдд рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, /usr/lib/python/site-packages/caffe2 рдпрд╛ рдХреБрдЫ рдФрд░ рдирд╣реАрдВред рдореИрдВрдиреЗ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ $PYTHONPATH рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рднреА рдХреА рд╣реИ:

Python 2.7.14 |Anaconda, Inc.| (default, Mar 27 2018, 17:29:31) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe2
>>> caffe2.__file__
'/home/markable-ai/pytorch/build/caffe2/__init__.pyc'
>>> from caffe2.python import muji
>>> muji.__file__
'/home/markable-ai/pytorch/build/caffe2/python/muji.pyc'
>>> 

рдореИрдВрдиреЗ рдХреЗрд╡рд▓ muji.py рддрд╣рдд pytorch/caffe2/python/muji.py muji.py рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИред

@yuzcccc рдореИрдВрдиреЗ

@ Feynman27 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ muji.py рддрд╣рдд /home/markable-ai/pytorch/build/caffe2/python/muji.py muji.py рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╣рд╛рдВ, рдпрд╣ рдореЗрд░реА рджреГрд╖реНрдЯрд┐ рдереАред рдЕрдЪреНрдЫреА рдХреИрдЪред рдореИрдВ pytorch/caffe2/python/muji.py рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ pytorch/build/caffe2/python/muji.py рд╕рдВрд╢реЛрдзрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

@ Feynman27 рдЗрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реБрдИ :)
@Yangqing рдХреНрдпрд╛ рдЖрдк рдореЗрд░реЗ pr https://github.com/pytorch/pytorch/pull/6896 рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдХрдИ рдбреЗрдЯреНрд░рд╛рдпрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ :)

@daquexian рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдЕрднреА рднреА рдЧрддрд┐рд░реЛрдз рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛

@ Feynman27 рд╣рдореНрдо .. USE_NCCL рдХрд╛ рдореВрд▓реНрдп рдХреНрдпрд╛ рд╣реИ? рдпрд╣ False рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рд╣рд╛рдВ, USE_NCCL рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

@ Feynman27 рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЧрддрд┐рд░реЛрдз рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдкреНрд░рдЬрдирди рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ

рдХрд╛рдлреА рдЙрдЪрд┐рддред рд╕рднреА рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдореИрдВ рдЬреЛ рдЧрддрд┐рд░реЛрдз рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ GPU рд╕рд╣рдХрд░реНрдореА рдкрд╣реБрдВрдЪ рд╕рдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЖрдкрдХреЗ рдкреАрдЖрд░ рдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ USE_NCCL=False рд╕рд╛рде рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдореИрдВ рдПрдЬрд╝реНрдпреЛрд░ рдорд╢реАрдиреЛрдВ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЙрдирдХреЗ рд╡реАрдПрдо рдкрд░ рдЪрд▓рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ 2 рдЯрд╛рдЗрдЯрдирдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдиреАрдп рдорд╢реАрдиреЛрдВ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИред

@daquexian рдзрдиреНрдпрд╡рд╛рдж! рдЖрдкрдХреЗ рдкреАрдЖрд░ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛!

рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@gadcam рдмрдВрдж рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдореБрджреНрджреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЗрд╕ рдПрдХ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ Caffe2 рдореЗрдВ рдПрдХ рд╡рд┐рд▓рдп рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред

@rbgirshick рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХреЛрдИ рдореЗрд░реА рдкреАрдЖрд░ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ: |

@rbgirshick рдзрдиреНрдпрд╡рд╛рдж! рдореЗрд░рд╛ PR https://github.com/pytorch/pytorch/pull/6896 рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ :)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

baristahell picture baristahell  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

twmht picture twmht  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kampelmuehler picture kampelmuehler  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

olgaliak picture olgaliak  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kampelmuehler picture kampelmuehler  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ