當前位置: 華文頭條 > 推薦

如何系統學習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.

    延遲限制和吞吐量限制的情況時需要被分開討論的.