计算化学公社

 找回密码 Forget password
 注册 Register
Views: 19426|回复 Reply: 16
打印 Print 上一主题 Last thread 下一主题 Next thread

[GPU加速] 简单对比了一下GPU与CPU的速度

[复制链接 Copy URL]

103

帖子

5

威望

1000

eV
积分
1203

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
最近刚装了google专门为机器学习开发的python库tensorflow,可以利用GPU来加速计算。简单对比了一下tensorflow,numpy和手写的C++双精度矩阵乘法的速度,结果如下:
电脑配置:
cpu: Xeon E5-2609 v3 @ 1.90GHz
内存:单通道DDR4 16GB 2133MHz
显卡:NVIDIA Quadro K2200(双精度浮点性能大概是0.24TFlops)
----------------------------------------------------------------------------------------
手写单核for循环C++,1000*1000的两个矩阵相乘:146秒
在天河二号上运行:8秒(cpu:E5-2692)
----------------------------------------------------------------------------------------
使用numpy库,10000*10000矩阵:13秒(6核并行)Matlab,10000*10000矩阵:13秒(6核并行)
使用tensorflow库,10000*10000矩阵:0.002秒

----------------------------------------------------------------------------------------
这个结果还是挺吃惊的,numpy底层使用C++编写,使用了BLAS库,即使用C++和BLAS库也快不了多少了,然而比起GPU却依然慢了几个数量级。
CPU发展已经快到头了,反观GPU计算才刚刚开始起步。现在NVIDIA借着机器学习的浪潮在GPU领域不断发力,去年NVIDIA发布的计算卡P100,双精度浮点性能达到了5.3TFlops。

Gaussian, vasp之类的软件也纷纷搞起了GPU计算,虽然效果一般,但这肯定是将来发展的方向了。


39

帖子

0

威望

132

eV
积分
172

Level 3 能力者

17#
发表于 Post on 2018-1-21 13:29:24 | 只看该作者 Only view this author
sky 发表于 2017-11-19 21:15
迭代每一步照样也得求矩阵,没什么不合适的。vasp用GPU之后提速明显。

vasp启用gpu加速是不是要求lreal=true啊?

353

帖子

0

威望

2029

eV
积分
2382

Level 5 (御坂)

真 掘墓者

16#
发表于 Post on 2017-11-28 12:24:36 | 只看该作者 Only view this author

15000$ per each
圣诞刨坟忙

165

帖子

0

威望

4787

eV
积分
4952

Level 6 (一方通行)

15#
发表于 Post on 2017-11-26 22:36:55 | 只看该作者 Only view this author
kyuu 发表于 2017-11-18 14:05
我们昨天刚买了252块P100,可是并没有任何卵用

这种卡多少米?

353

帖子

0

威望

2029

eV
积分
2382

Level 5 (御坂)

真 掘墓者

14#
发表于 Post on 2017-11-20 00:59:47 | 只看该作者 Only view this author
sky 发表于 2017-11-19 21:20
你这张图我才注意到P100单精度就比1080好一点,看样子钱都用来堆双精度了

单精度帕斯卡,双精度特斯拉
圣诞刨坟忙

103

帖子

5

威望

1000

eV
积分
1203

Level 4 (黑子)

13#
 楼主 Author| 发表于 Post on 2017-11-19 21:20:01 | 只看该作者 Only view this author
kyuu 发表于 2017-11-19 07:17
PERFORMANCE SPECIFICATION FOR NVIDIA TESLA P100 ACCELERATORS

单卡单精度与1080Ti持平 但单机上 ...

你这张图我才注意到P100单精度就比1080好一点,看样子钱都用来堆双精度了

103

帖子

5

威望

1000

eV
积分
1203

Level 4 (黑子)

12#
 楼主 Author| 发表于 Post on 2017-11-19 21:18:18 | 只看该作者 Only view this author
万里云 发表于 2017-11-17 21:08
正好最近在学MPI,基于mpi4py写了个手动并行版:

numpy或者tensorflow一行代码就搞定了。
我没写过计算类程序,不知道自己写的计算小程序是否可能被numpy替代?

103

帖子

5

威望

1000

eV
积分
1203

Level 4 (黑子)

11#
 楼主 Author| 发表于 Post on 2017-11-19 21:15:17 | 只看该作者 Only view this author
wgbigfatcat 发表于 2017-11-17 17:10
就现在来说,波函数求解需要迭代这个限制了量化类的程序GPU不是太合适。

迭代每一步照样也得求矩阵,没什么不合适的。vasp用GPU之后提速明显。

103

帖子

5

威望

1000

eV
积分
1203

Level 4 (黑子)

10#
 楼主 Author| 发表于 Post on 2017-11-19 21:09:36 | 只看该作者 Only view this author
kyuu 发表于 2017-11-18 14:05
我们昨天刚买了252块P100,可是并没有任何卵用

现在的量化程序对GPU支持都一般吧,相对好一点的可能也就是vasp了

103

帖子

5

威望

1000

eV
积分
1203

Level 4 (黑子)

9#
 楼主 Author| 发表于 Post on 2017-11-19 21:08:39 | 只看该作者 Only view this author
niobium 发表于 2017-11-18 05:36
不知道GPU在运算的时候能不能指定运行所用的核心数,如果可以的话,不知道楼主可不可以给个数据,或者测试 ...

我刚开始用,能否指定核心数不清楚。
同核心数比较完全没有意义,肯定是CPU快。GPU之所以快就是因为核心数远多于CPU.
至于12核比6核时间长可能是因为矩阵太小的关系,这个现在我在用vasp计算的时候也见过。矩阵太小而核数太多的话,分配任务会占用过多时间,而真正用来计算的时间很少,导致总耗时增加。

136

帖子

3

威望

4190

eV
积分
4386

Level 6 (一方通行)

8#
发表于 Post on 2017-11-19 20:14:47 | 只看该作者 Only view this author
kyuu 发表于 2017-11-19 07:17
PERFORMANCE SPECIFICATION FOR NVIDIA TESLA P100 ACCELERATORS

单卡单精度与1080Ti持平 但单机上 ...

谢谢大神的资料,看来配个1080ti的工作站来跑MD还是挺值得的~

353

帖子

0

威望

2029

eV
积分
2382

Level 5 (御坂)

真 掘墓者

7#
发表于 Post on 2017-11-19 07:17:09 | 只看该作者 Only view this author
本帖最后由 kyuu 于 2017-11-19 07:28 编辑
laoman 发表于 2017-11-18 18:28
目前的超算资源没有P100,你们组真土豪啊~~
不知道P100要是拿来跑MD(单精度就够),速度上会不会比1080 ...


PERFORMANCE SPECIFICATION FOR NVIDIA TESLA P100 ACCELERATORS

P100 for PCIe-Based
Servers
P100 for NVLink-Optimized Servers
Double-Precision Performance
4.7 TeraFLOPS
5.3 TeraFLOPS
Single-Precision Performance
9.3 TeraFLOPS
10.6 TeraFLOPS
Half-Precision Performance
18.7 TeraFLOPS
21.2 TeraFLOPS
NVIDIA NVLink™ Interconnect Bandwidth
-
160 GB/s
PCIe x16 Interconnect Bandwidth
32 GB/s
32 GB/s
CoWoS HBM2 Stacked Memory Capacity
16 GB or 12 GB
16 GB
CoWoS HBM2 Stacked Memory Bandwidth
732 GB/s or 549 GB/s
732 GB/s
Enhanced Programmability with Page Migration Engine
ECC Protection for Reliability
Server-Optimized for Data Center Deployment

单卡单精度与1080Ti持平 但单机上不大可能会做速力
圣诞刨坟忙

136

帖子

3

威望

4190

eV
积分
4386

Level 6 (一方通行)

6#
发表于 Post on 2017-11-18 18:28:23 | 只看该作者 Only view this author
kyuu 发表于 2017-11-18 14:05
我们昨天刚买了225块P100,可是并没有卵用

目前的超算资源没有P100,你们组真土豪啊~~
不知道P100要是拿来跑MD(单精度就够),速度上会不会比1080类的家用卡快。。。

353

帖子

0

威望

2029

eV
积分
2382

Level 5 (御坂)

真 掘墓者

5#
发表于 Post on 2017-11-18 14:05:56 | 只看该作者 Only view this author
本帖最后由 kyuu 于 2017-11-19 15:53 编辑

我们昨天刚买了252块P100,可是并没有任何卵用
圣诞刨坟忙

516

帖子

1

威望

5058

eV
积分
5594

Level 6 (一方通行)

4#
发表于 Post on 2017-11-18 05:36:47 | 只看该作者 Only view this author
不知道GPU在运算的时候能不能指定运行所用的核心数,如果可以的话,不知道楼主可不可以给个数据,或者测试一下核心数对运行速度的影响。
我用CPU曾经做过测试,9000*9000的矩阵相乘,用12核的时间是比6核的时间要长的。(Fortran,Intel编译器,Intel MKL)

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-27 11:08 , Processed in 0.250432 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list