请选择 进入手机版 | 继续访问电脑版

开源计算机图形学社区(Open Source Computer Graphics Community) |OpenGPU Forum (2007-2013)| OpenGPU Project

 找回密码
 注册
搜索
查看: 1506|回复: 5

GTC17上发布的新NVIDIA GPU架构Volta [复制链接]

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

注册时间
2011-4-19
积分
2079
发表于 2017-5-12 00:51:54 |显示全部楼层
本帖最后由 Uling 于 2017-5-12 00:51 编辑


昨天的GTC-17上NVIDIA的CEO黄老大发布了新的GPU架构:Tesla V100. 各种变化非常有意思啊。

1. 211亿个晶体管,815mm^2的die size,基于TSMC 12nm FFN。满装时一个GV100包含6个GPC,84个Volta SM,8x512-bit主存控制器,16GB HBM2的主存系统,高达900GB/s的最大主存带宽。

2. 新的SM架构,每个SM包含32个FP32核心,16个FP64核心,一个指令buffer和一个warp调度器,两个dispatch unit,128KB寄存器。新加入了L0 instruction cache。新加入专门为Deep Learning而设计的Tensor Core。Tensor core是用来做矩阵计算的。每个Tensor core提供了计算4x4大小的D=AxB+C的矩阵计算。其中A和B为FP16,C和D为FP16或FP32. 计算时整个warp用来处理一个16x16x16的矩阵操作。CUDA提供了新的warp level的矩阵操作API,用来封装matrix load,乘法和累加,matrix store,以便高效的使用Tensor core。整数和浮点数计算单元的数据通路被分开了,提供了同时进行浮点数和地址计算的能力。另外,shared memory,L1 cache和texture cache被统一到一个128KB的memory device里了。像Kepler一样可以进行配置。还有一个重大的修改是线程调度。不同于以往的GPU中,整个warp共享PC和stack,新的GV100里每个线程都有自己独立的PC和stack。这避免了之前的死锁问题同时提供了非常大的灵活性:线程间可以进行细粒度的同步和协作。锁机制的性能被大幅度提升了。
3. 第二代的NV-Link。GV100支持6个25GB/s的links,提供了总共300GB/s的带宽。与IBM-Power9中的CPU实现了cache一致性。
4. 有一个叫Cooperative Groups and Cooperative Launch API的东西。不是很清楚也没有很多资料。看大概意思是提供了新的Thread Block(CTA)之间的同步机制。
5. 提供了两种Power Mode。一个是最大性能模式,GV100可以运行到300W的TDP,提供了最快的计算能力。另一种是最大效率模式,为数据中心提供了调整到最佳性能功耗比的方法。
6. 所有的machine learning支持软件库同步更新,包括为Caffe2, MXNet, CNTK, TensorFlow等。其他的诸如 cuDNN, cuBLAS, TensorRT(新的库)也依据Volta的新特性做了优化。


Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

注册时间
2010-3-27
积分
6015
发表于 2017-5-12 10:44:07 |显示全部楼层
Tensor core是用来做矩阵计算的。

感觉硬件越来越朝者计算需求和性能方面发展,难说会出现专门用来计算稀疏矩阵的数据存储格式,API等...

使用道具 举报

Rank: 12Rank: 12Rank: 12

注册时间
2012-7-21
积分
820
发表于 2017-7-13 00:20:38 |显示全部楼层
啊?!
如果说,Warp中每个线程都有独立的PC和Stack,那不是说以下代码不会死锁了吗:
  1. while(true) {
  2.     if(0 == atomicCAS(&mLock, 0, 1)) {
  3.         index = mSize++;
  4.         foo();
  5.         atomicExch(&mLock, 0);
  6.         break;
  7.     }
  8. }
复制代码
(例子:https://stackoverflow.com/questi ... y-deadlock#31195230

使用道具 举报

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

注册时间
2011-4-19
积分
2079
发表于 2017-7-13 22:47:31 |显示全部楼层
The Pascal SIMT execution model maximizes efficiency by reducing the quantity of resources required to track thread state and by aggressively reconverging threads to maximize parallelism. Tracking thread state in aggregate for the whole warp, however, means that when the execution pathway diverges, the threads which take different branches lose concurrency until they reconverge. This loss of concurrency means that threads from the same warp in divergent regions or different states of execution cannot signal each other or exchange data. This presents an inconsistency in which threads from different warps continue to run concurrently, but diverged threads from the same warp run sequentially until they reconverge. This means, for example, that algorithms requiring fine-grained sharing of data guarded by locks or mutexes can easily lead to deadlock, depending on which warp the contending threads come from. Therefore, on Pascal and earlier GPUs, programmers have to avoid fine-grained synchronization or rely on lock-free or warp-aware algorithms.

Volta 解决了这个问题。参考:https://devblogs.nvidia.com/parallelforall/inside-volta/

使用道具 举报

Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2007-6-11
积分
29685
发表于 2017-7-22 14:56:01 |显示全部楼层
NV完全是一个面向市场开发的公司,之前VR火,搞了一些VR功能,然后所有创业公司都买了新卡。如今AI火了热钱多了,估计所有创业公司又要来买了,啊哈哈。看起来挺猛,就是把计算模块直接搞成硬件了,有钱能使鬼推磨,让NV改硬件吧。

使用道具 举报

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

注册时间
2011-4-19
积分
2079
发表于 2017-7-28 22:59:05 |显示全部楼层
Jedimaster 发表于 2017-7-22 14:56
NV完全是一个面向市场开发的公司,之前VR火,搞了一些VR功能,然后所有创业公司都买了新卡。如今AI火了热钱 ...

反应很快啊,Volta里搞了Tensor Core,最近又开始出专门的矿卡

使用道具 举报

最近看过此主题的会员

您需要登录后才可以回帖 登录 | 注册

‹‹
我的工具栏

关于我们|手机版|Archiver|开源计算机图形学社区(Open Source Computer Graphics Community) | OpenGPU Project | OpenGPU Forum (2007-2013)

GMT+8, 2017-9-20 15:31 , Processed in 0.056792 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部