avatar
w*r
1
刚用nccl测了一下multi-gpu的性能,两块titan v的性能居然只有两块1080的1/3。我
没有敲错,是的,还不如1080。。。
Following the test at https://github.com/NVIDIA/nccl, I got about 1/3 the
performance as before, compared to my dual gtx1080 setup. The inter-GPU
communication performance seems very bad! Any insight?
-- command I used is "./all_reduce_test 10000000 2 0 1"
# Using devices
# Rank 0 uses device 0 [0x19] TITAN V
# Rank 1 uses device 1 [0x1a] TITAN V
# out-of-place
in-place
# bytes N type op time algbw busbw res
time algbw busbw res
10000000 10000000 char sum 2.739 3.65 3.65 0e+00
2.759 3.63 3.63 0e+00
10000000 10000000 char prod 2.741 3.65 3.65 0e+00
2.759 3.62 3.62 0e+00
10000000 10000000 char max 2.743 3.65 3.65 0e+00
2.754 3.63 3.63 0e+00
10000000 10000000 char min 2.742 3.65 3.65 0e+00
2.765 3.62 3.62 0e+00
# Using devices
# Rank 0 uses device 0 [0x02] GeForce GTX 1080
# Rank 1 uses device 1 [0x03] GeForce GTX 1080
# out-of-place
in-place
# bytes N type op time algbw busbw res
time algbw busbw res
10000000 10000000 char sum 1.077 9.28 9.28 0e+00
1.092 9.16 9.16 0e+00
10000000 10000000 char prod 1.194 8.38 8.38 0e+00
1.105 9.05 9.05 0e+00
10000000 10000000 char max 1.181 8.47 8.47 0e+00
1.097 9.12 9.12 0e+00
10000000 10000000 char min 1.182 8.46 8.46 0e+00
1.100 9.09 9.09 0e+00
avatar
w*g
2
inter-gpu差吧。毕竟训练时all_reduce用的比较少。
train起来就好了。
不过价钱肯定是偏高的。



【在 w*****r 的大作中提到】
: 刚用nccl测了一下multi-gpu的性能,两块titan v的性能居然只有两块1080的1/3。我
: 没有敲错,是的,还不如1080。。。
: Following the test at https://github.com/NVIDIA/nccl, I got about 1/3 the
: performance as before, compared to my dual gtx1080 setup. The inter-GPU
: communication performance seems very bad! Any insight?
: -- command I used is "./all_reduce_test 10000000 2 0 1"
: # Using devices
: # Rank 0 uses device 0 [0x19] TITAN V
: # Rank 1 uses device 1 [0x1a] TITAN V
: # out-of-place

avatar
L*8
3
1 v 1 性能如何?

【在 w*****r 的大作中提到】
: 刚用nccl测了一下multi-gpu的性能,两块titan v的性能居然只有两块1080的1/3。我
: 没有敲错,是的,还不如1080。。。
: Following the test at https://github.com/NVIDIA/nccl, I got about 1/3 the
: performance as before, compared to my dual gtx1080 setup. The inter-GPU
: communication performance seems very bad! Any insight?
: -- command I used is "./all_reduce_test 10000000 2 0 1"
: # Using devices
: # Rank 0 uses device 0 [0x19] TITAN V
: # Rank 1 uses device 1 [0x1a] TITAN V
: # out-of-place

avatar
L*8
4
https://devtalk.nvidia.com/default/topic/1027804/titan-v-tensorflow-
performance/
升级 cudnn 等等

【在 w*****r 的大作中提到】
: 刚用nccl测了一下multi-gpu的性能,两块titan v的性能居然只有两块1080的1/3。我
: 没有敲错,是的,还不如1080。。。
: Following the test at https://github.com/NVIDIA/nccl, I got about 1/3 the
: performance as before, compared to my dual gtx1080 setup. The inter-GPU
: communication performance seems very bad! Any insight?
: -- command I used is "./all_reduce_test 10000000 2 0 1"
: # Using devices
: # Rank 0 uses device 0 [0x19] TITAN V
: # Rank 1 uses device 1 [0x1a] TITAN V
: # out-of-place

avatar
w*r
6
干货就是multi-gpu训练,需要在cpu上维护参数replicate,指望gpu之间通信不靠谱

【在 w***g 的大作中提到】
: inter-gpu差吧。毕竟训练时all_reduce用的比较少。
: train起来就好了。
: 不过价钱肯定是偏高的。
:
:

avatar
w*r
7
titan v大概是1080的两倍

【在 L****8 的大作中提到】
: 1 v 1 性能如何?
avatar
w*r
8
1,现在的dl framework多半只支持nccl 1
2,nvidia的一个号称同时至此nccl1/2的测试repo,编译完后,运行死机

【在 s*********1 的大作中提到】
: 新版的nccl 2.2在这里
: https://developer.nvidia.com/nccl
: 你那个github里的nccl 1.x 是一年前的老版本了,没有针对volta优化

avatar
l*m
9
没NVLINK就不要玩 GPU-GPU通信。老黄已经不管小开发者给了

【在 w*****r 的大作中提到】
: 干货就是multi-gpu训练,需要在cpu上维护参数replicate,指望gpu之间通信不靠谱
avatar
m*p
10
不只是GPU,Inter-CPU也一样,这就是我总强调的NUMA效应,不优化的结果是性能下降
一个数量级。现实是大多数框架都没有优化。
如果你们用intel qpi/upi还好,如果用其他企业像IBM (CAPI)/Nvidia (NVLINK)/
ARM (CCIX)/或者其他link,那性能比intel差远了。

【在 l*******m 的大作中提到】
: 没NVLINK就不要玩 GPU-GPU通信。老黄已经不管小开发者给了
avatar
w*r
11
你咋知道哥没NVlink...LOL 问题是脚本不在本地调试好,deploy到DGX上没意义啊


: 没NVLINK就不要玩 GPU-GPU通信。老黄已经不管小开发者给了



【在 l*******m 的大作中提到】
: 没NVLINK就不要玩 GPU-GPU通信。老黄已经不管小开发者给了
avatar
L*8
12
公布一下你的机器配置

【在 w*****r 的大作中提到】
: 你咋知道哥没NVlink...LOL 问题是脚本不在本地调试好,deploy到DGX上没意义啊
:
:
: 没NVLINK就不要玩 GPU-GPU通信。老黄已经不管小开发者给了
:

avatar
l*m
13
有NVLINK就爽了,AWS最新V100 多GPU,NCCL的ALLREDUCE的速度都SUPERLINEAR了

【在 w*****r 的大作中提到】
: 你咋知道哥没NVlink...LOL 问题是脚本不在本地调试好,deploy到DGX上没意义啊
:
:
: 没NVLINK就不要玩 GPU-GPU通信。老黄已经不管小开发者给了
:

avatar
w*g
15
Titan v好像是v100的阉割版,阉掉了nvlink.
话说我不看好fp16. 不知道老黄怎么想的搞16位的tensor core。在tf之前的年代,我
手写过一个cpu版的cnn实现。我发现fp32的误差都大到了我认为不可接受的程度, 以至
于我好几天都以为我程序写错了。转fp64后发现程序还是对的。深学应该往64位科学计
算转移。光快没用的。

:刚用nccl测了一下multi-gpu的性能,两块titan v的性能居然只有两块1080的1/3。我
:没有敲错,是的,还不如1080。。。
avatar
g*t
16
哦,这种情况我也遇到过很多次。
DNN层数多了,字长效应会出来。
我前几天手撸的CPU版+golang DNN
是小型问题,fp64也有这个问题。
改了数据的预处理部分才解决问题。
总体我觉得靠经验和dirty trick的积累。
有很多可以增广见闻paper,
for example:
Fixed-point roundoff error analysis of large feedforward neural networks

。我

【在 w***g 的大作中提到】
: Titan v好像是v100的阉割版,阉掉了nvlink.
: 话说我不看好fp16. 不知道老黄怎么想的搞16位的tensor core。在tf之前的年代,我
: 手写过一个cpu版的cnn实现。我发现fp32的误差都大到了我认为不可接受的程度, 以至
: 于我好几天都以为我程序写错了。转fp64后发现程序还是对的。深学应该往64位科学计
: 算转移。光快没用的。
:
: :刚用nccl测了一下multi-gpu的性能,两块titan v的性能居然只有两块1080的1/3。我
: :没有敲错,是的,还不如1080。。。

avatar
l*m
17
我曾经做过一个内部的报告,就是分析数值误差传播的,我还提出了一个观点就是深学
技术本质就是对抗数值误差。例如dropout就是把一些tensor至零增加数值计算的信噪
比。batch norm可以减少极值的出现,提高learning rate也是对数值误差有益的。
resnet的short cut也能增加信噪比。但是一些人要么狗屁不懂,要么觉得我妖魔化伟
大的技术。哈哈。反正我认为这是一条比较根本的设计原则。

:Titan v好像是v100的阉割版,阉掉了nvlink.
avatar
g*t
18
以前线性网络系统有很多这方面研究。
(其实就是把signoid去掉。)widrow还有个定理对线性系统中round off error的传递
。可以看作对奈奎斯特定律类比。
但是实用的办法一般都是最高的商业机密。对高精数字电路很关键。不会发表。
你说的很对。这条是产品能不能落地的关键。例如我的算法
至少也要跑在几十M的芯片量上面。如果出现误差飞走的问题就会造成客户手机recall


: 我曾经做过一个内部的报告,就是分析数值误差传播的,我还提出了一个
观点就
是深学

: 技术本质就是对抗数值误差。例如dropout就是把一些tensor至零增加数
值计算
的信噪

: 比。batch norm可以减少极值的出现,提高learning rate也是对数值误
差有益
的。

: resnet的short cut也能增加信噪比。但是一些人要么狗屁不懂,要么觉
得我妖
魔化伟

: 大的技术。哈哈。反正我认为这是一条比较根本的设计原则。

: :Titan v好像是v100的阉割版,阉掉了nvlink.

: :



【在 l*******m 的大作中提到】
: 我曾经做过一个内部的报告,就是分析数值误差传播的,我还提出了一个观点就是深学
: 技术本质就是对抗数值误差。例如dropout就是把一些tensor至零增加数值计算的信噪
: 比。batch norm可以减少极值的出现,提高learning rate也是对数值误差有益的。
: resnet的short cut也能增加信噪比。但是一些人要么狗屁不懂,要么觉得我妖魔化伟
: 大的技术。哈哈。反正我认为这是一条比较根本的设计原则。
:
: :Titan v好像是v100的阉割版,阉掉了nvlink.
: :

avatar
w*r
19
我觉得你说的那些深学技术都是stabilize 优化过程。不过自己不是数值计算这行的,
只能有啥用啥


: 我曾经做过一个内部的报告,就是分析数值误差传播的,我还提出了一个观点就
是深学

: 技术本质就是对抗数值误差。例如dropout就是把一些tensor至零增加数值计算
的信噪

: 比。batch norm可以减少极值的出现,提高learning rate也是对数值误差有益
的。

: resnet的short cut也能增加信噪比。但是一些人要么狗屁不懂,要么觉得我妖
魔化伟

: 大的技术。哈哈。反正我认为这是一条比较根本的设计原则。

: :Titan v好像是v100的阉割版,阉掉了nvlink.

: :



【在 l*******m 的大作中提到】
: 我曾经做过一个内部的报告,就是分析数值误差传播的,我还提出了一个观点就是深学
: 技术本质就是对抗数值误差。例如dropout就是把一些tensor至零增加数值计算的信噪
: 比。batch norm可以减少极值的出现,提高learning rate也是对数值误差有益的。
: resnet的short cut也能增加信噪比。但是一些人要么狗屁不懂,要么觉得我妖魔化伟
: 大的技术。哈哈。反正我认为这是一条比较根本的设计原则。
:
: :Titan v好像是v100的阉割版,阉掉了nvlink.
: :

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。