GPU程式設計

下列何者是CUDA執行緒階層的正確組合(由大到小)?

  1. A網格 → 區塊 → 執行緒
  2. B執行緒 → 區塊 → 網格
  3. C區塊 → 執行緒 → 網格
查看答案與解析

正確答案:A. 網格 → 區塊 → 執行緒

啟動一次核心函式後,整體成為網格(grid),網格分為許多區塊(block),區塊再分為許多執行緒。同一個區塊的執行緒會在同一個SM(運算單元的集合)上執行,可透過共享記憶體合作並進行同步。不同的區塊則獨立執行,因此同時運作的區塊數量會隨GPU的規模而變,同一個程式可在大小不同的GPU上執行。

  • A. 正確。一次啟動的整體就是網格。
  • B. 這是由小到大的順序。
  • C. 順序不正確。
練習這個領域 前往領域頁面

GPU程式設計的其他題目

  1. 在CUDA核心函式中,以上式求出各執行緒的編號i。blockIdx.x=2、blockDim.x=256、threadIdx.x=5的執行緒,其i為多少?
  2. 想以每個區塊256個執行緒、每個執行緒處理一個元素的方式,處理元素數為1000的陣列。下列何者是應啟動的區塊數?
  3. 上述CUDA核心函式中加入「if (i < n)」的理由,下列何者正確?
  4. 在NVIDIA的GPU中,將32個執行緒組成一束並同時執行相同指令的單位稱為什麼?
  5. 關於GPU的SIMT(單一指令、多執行緒)方式與CPU的SIMD指令之差異,下列何者正確?

這個領域的比較