GPU程式設計

在NVIDIA的GPU中,將32個執行緒組成一束並同時執行相同指令的單位稱為什麼?

  1. A線程束(warp)
  2. B網格(grid)
  3. C分頁(page)
查看答案與解析

正確答案:A. 線程束(warp)

區塊中的執行緒在硬體內部會以每32個為一組,分成線程束(warp),同一個線程束的32個執行緒會同時對各自不同的資料執行相同的指令。像這樣將以執行緒方式撰寫的程式集結成一束,並以相同指令運作的方式,稱為SIMT。AMD的GPU將類似的單位稱為wavefront,為64個或32個。區塊的大小基本上應設為32的倍數。

  • A. 正確。是由硬體管理執行的單位。
  • B. 網格是一次核心函式啟動的整體。
  • C. 分頁是虛擬記憶體的單位。
練習這個領域 前往領域頁面

GPU程式設計的其他題目

  1. 關於GPU的SIMT(單一指令、多執行緒)方式與CPU的SIMD指令之差異,下列何者正確?
  2. 在一個線程束中,因條件分支使一半的執行緒走if側、另一半走else側(線程束發散,warp divergence)。一般會如何執行?
  3. 上述的(1)與(2)都是讓一半的執行緒執行A、其餘執行B。就線程束的效率而言,下列何者說明正確(設1個線程束為32個執行緒)?
  4. 關於GPU的記憶體合併存取(coalescing),下列說明何者正確?
  5. 設各執行緒的編號為i,如上式每隔32個元素讀取陣列,會比讀取a[i]時更慢。主要原因為下列何者?

這個領域的比較