Abstract: 本文介紹CUDA編程模型的簡要結構,包括寫一個簡單的可執行的CUDA程序,一個正確的CUDA核函數,以及相應的調整設置內存,線程來正確的運行程序。
過年了,祝大家新年快樂,新年希望自己學習的東西能都學會
編程模型就是告訴我們如何寫CUDA程序,如果做過C開發的同學或者其他開發的同學都知道做個完整的項目不只是寫代碼,還有需求分析,調試,優化,部署等一些列步驟。CUDA平台也提供了著一些列的工具供我們使用,我們這一章主要就是講解這些工具怎麼用,如何編寫調試CUDA程序。以及編寫兩個矩陣運算有關的CUDA應用,以供大家把玩。
CUDA編程模型為應用和硬體設備之間的橋樑,所以CUDA C是編譯型語言,不是解釋型語言,OpenCL就有點類似於解釋型語言,通過編譯器和鏈接,給操作系統執行(操作系統包括GPU在內的系統),下面的結構圖片能形象的表現他們之間的關係:
其中Communication Abstraction是編程模型和編譯器,庫函數之間的分界線。
可能大家還不太明白編程模型是啥,編程模型可以理解為,我們要用到的語法,內存結構,線程結構等這些我們寫程序時我們自己控制的部分,這些部分控制了異構計算設備的工作模式,都是屬於編程模型。
- 線程管理
等幾個關鍵部分。
也就是對內存和線程的控制將伴隨我們寫完前十幾篇。
第一步就是在領域層(也就是你所要解決問題的條件)分析數據和函數,以便在並行運行環境中能正確,高效地解決問題。
完整內容參考https://face2ai.com/CUDA-F-2-0-CUDA編程模型概述1/
TAG:科技 | CUDA | 編程 |