当前位置: 华文头条 > 推荐

如何系统学习GPU架构?

2019-04-09推荐

要理解GPU架构,除了常说的并行性以外,还有个很重要的概念就是Hide Latency,市面上很多文档都只是说明并行性,但 如果只是并行性,那为何GPU需要这么多层次地结构呢
建议通过Latency hiding来理解GPU架构:

  • Latency Hiding的过程其实就是提升Occupancy的过程
  • Latency的时候我们可以将闲置的单元利用起来并且运行
  • 有本UC berkeyley 的博士 Vasily Volkov 写的一篇文章很推荐看看:

    也可以看我自己双语阅读时的笔记(从Cp开始:):

    Cp这个章节中的很多内容可能是熟知的,但是更准确地划分了一些常见的概念,例如SIMD,SIMT,warp scheduler完成的工作,更为系统和准确.对于理清楚概念和深入理解GPU架构很有帮助.

    Cp 清晰地划分了两个概念:吞吐量和延迟,详细说明了warp占用率和warp延迟,warp吞吐量地关系。

    mean occupancy = mean warp latency * warp throughput.

    由此衍生一个重要地结论:

    Hiding latency, thus, means attaining throughput-bound mode

    隐藏延迟本质上是为了去达到吞吐量限制模式.

    Cp 主要介绍了作者的latency hiding model,并且提出了混合指令最大化利用设备时的需要满足的条件,对应的也称之为 cusp behavior(顶部行为) 。之后作者和cuda编程指南以及之前的一些工作进行对比,说明他们只是他提出的model的一个特例.并且通过实验数据说明这个模型的特点和优势:

    Separately considering latency-bound and throughput-bound cases is the key feature of our model and is in contrast to separately considering execution of arithmetic and memory instructions suggested in prior work.

    延迟限制和吞吐量限制的情况时需要被分开讨论的.