GPU程式設計
在使用單一GPU的程式中,關於CPU端記憶體與GPU端記憶體,下列何者通常是正確的?
- A由於是各自獨立的記憶體,因此在計算之前要將資料複製到GPU,結束後再將結果複製回CPU
- B由於是相同的記憶體,因此完全不需要複製
- CGPU無法儲存計算的結果
查看答案與解析
正確答案:A. 由於是各自獨立的記憶體,因此在計算之前要將資料複製到GPU,結束後再將結果複製回CPU
獨立式GPU在顯示卡上具有GDDR或HBM的專用記憶體,與CPU的記憶體則是透過PCI Express等連接。因此基本流程是:先將CPU記憶體中的資料複製到GPU的記憶體後再啟動核心函式,結束後再將結果複製回CPU的記憶體。這段複製的時間往往會左右整體的效能。
- A. 正確。以cudaMemcpy等進行複製。
- B. 獨立式GPU擁有自己專用的記憶體。
- C. 可以將結果寫入GPU的記憶體。