什麼是CUDA
在 NVIDIA 的 GPU 上進行通用運算的程式設計機制。以擴充 C++ 的語言撰寫核心函式,並以網格、區塊、執行緒的階層表示平行性。
日文名稱: CUDA
「CUDA」出現在1領域的18道練習題中(GPU程式設計等)。
這個名詞所屬的領域: GPU程式設計
在 NVIDIA 的 GPU 上進行通用運算的程式設計機制。以擴充 C++ 的語言撰寫核心函式,並以網格、區塊、執行緒的階層表示平行性。
日文名稱: CUDA
「CUDA」出現在1領域的18道練習題中(GPU程式設計等)。
這個名詞所屬的領域: GPU程式設計
正確答案:B. 在GPU上由大量執行緒同時執行的函式
GPU程式設計中的核心函式(kernel),是由CPU端的程式啟動,並由GPU上的大量執行緒執行相同程式碼的函式。各執行緒使用自己的編號來選擇負責的資料元素。例如陣列相加時,將核心函式寫成由一個執行緒加總一個元素,再依元素數量啟動執行緒。雖然與作業系統的核心(kernel)用語相同,但意義不同。
CUDA也提供了計算佔用率的工具。
關於GPU的佔用率(occupancy),下列說明何者正確?另外也會使用將一連串的啟動先記錄下來再一次送出的機制(如CUDA Graphs)。
當程式持續啟動數千次非常小的核心函式而變慢時,下列何者是最適當的改善方法?CUDA是NVIDIA的GPU專用機制,而OpenCL是由業界團體訂定的標準規格,可用於多家公司的GPU、CPU、FPGA等。
下列何者是NVIDIA以外的GPU也能使用、用於GPU等平行計算之程式設計機制的正確例子?GPU 共享記憶體(GPU shared memory) 佔用率(GPU occupancy) 記憶體庫衝突(Bank conflict) 串流多處理器(Streaming multiprocessor) 統一記憶體(Unified memory) 常數記憶體(Constant memory) OpenCL FPGA(現場可程式化閘陣列) 平行歸約(Parallel reduction)