GPU程式設計

以樹狀歸約加總1024個值時,所需的階段數為多少?

  1. A10
  2. B512
  3. C1023
查看答案與解析

正確答案:A. 10

每一階段值的數量減半,因此1024→512→256→…→1,要減半到剩下1為止共10次。也就是說,階段數為log2 1024=10。加法的總次數為512+256+…+1=1023次,與由一個執行緒依序相加時相同,但因為階段只有10個,只要有足夠數量的執行緒,就能非常快速地完成。

  • A. 正確。2的10次方是1024。
  • B. 512是第1階段所需的執行緒數量。
  • C. 1023是加法的總次數。
練習這個領域 前往領域頁面

GPU程式設計的其他題目

  1. 在使用單一GPU的程式中,關於CPU端記憶體與GPU端記憶體,下列何者通常是正確的?
  2. 對於只對陣列元素做一次加法這類輕量的處理,若將資料傳送到GPU,有時會比用CPU計算還慢。下列何者是主要原因?
  3. 將CPU記憶體固定(鎖頁,page-lock)後再傳輸到GPU會比較快,其理由下列何者正確?
  4. 下列何者是使用多個CUDA串流(stream)的主要目的?
  5. 當程式持續啟動數千次非常小的核心函式而變慢時,下列何者是最適當的改善方法?

這個領域的比較