GPU程式設計

關於CUDA的統一記憶體(unified memory),下列說明何者正確?

  1. ACPU與GPU可使用同一個指標存取的記憶體,資料會視需要自動移動
  2. B將CPU與GPU的晶片在物理上合而為一
  3. C將GPU的記憶體全部設為唯讀
查看答案與解析

正確答案:A. CPU與GPU可使用同一個指標存取的記憶體,資料會視需要自動移動

在統一記憶體中,對所配置的區域,CPU與GPU都能以同一個指標存取,發生存取時資料會以分頁為單位移動到需要的一側。這讓程式變得簡單,也更容易處理比GPU記憶體還大的資料。不過每次移動都會發生分頁錯誤(page fault)與傳輸,因此在需要效能時,會採取預先下達移動指示等做法。

  • A. 正確。可以省去自己撰寫複製的工夫。
  • B. 並不是把晶片合而為一。
  • C. 可以讀寫。
練習這個領域 前往領域頁面

GPU程式設計的其他題目

  1. 以GPU進行兩個大型陣列的逐元素加法(c[i] = a[i] + b[i])時,主要決定效能的是什麼?
  2. 在多數家用的遊戲用GPU中,雙精度(FP64)的運算效能遠低於單精度(FP32)(約為數十分之一等)。下列何者是最適當的理由?
  3. 關於近年GPU所搭載的張量核心(Tensor Core,矩陣運算單元)的特徵,下列何者正確?
  4. 在GPU的混合精度計算中,常以FP16等低精度進行乘法,而以FP32進行加總(累加)。下列何者是其正確的理由?
  5. 以GPU求取相同資料的浮點數總和時,每次執行結果的最後一位數都略有不同。下列何者是最可能的原因?

這個領域的比較