官术网_书友最值得收藏!

第1章“為什么要學習GPU編程”,介紹學習這個領域知識的動機、如何應用阿姆達爾定律,以及評估從串行編程切換到GPU編程后所能帶來的性能提升。

第2章“搭建GPU編程環境”,解釋如何在Windows和Linux系統下為CUDA編程搭建合適的Python與C++開發環境。

第3章“PyCUDA入門”,展示利用Python語言進行GPU編程時所需的基本技能。本章著重介紹如何使用PyCUDA的gpuarray類與GPU進行數據傳輸,以及如何使用PyCUDA的ElementwiseKernel函數來編譯簡單的CUDA內核函數。

第4章“內核函數、線程、線程塊與網格”,介紹編寫高效CUDA內核函數所需的基礎知識。這些內核函數是在GPU上運行的并行函數。本章除了介紹如何編寫CUDA設備函數(由CUDA內核直接調用的“串行”函數),還將介紹CUDA的抽象線程塊/網格結構及其在啟動內核函數方面所發揮的作用。

第5章“流、事件、上下文與并發性”,講解CUDA流的概念。利用CUDA流,我們可以在GPU上同時啟動多個內核函數并實現同步。本章介紹如何使用CUDA事件來計算內核函數的運行時間,以及如何創建和使用CUDA上下文。

第6章“CUDA代碼的調試與性能分析”,填補純CUDA C編程方面的一些空白,并展示如何使用Nsight IDE進行開發和調試,以及如何使用英偉達(后簡稱NVIDA)公司的性能分析工具。

第7章“通過Scikit-CUDA模塊使用CUDA庫”,介紹幾種可以通過Python Scikit-CUDA模塊使用的標準CUDA庫,例如cuBLAS、cuFFT和cuSolver庫。

第8章“CUDA設備函數庫與Thrust庫”,演示如何在代碼中使用cuRAND和CUDA Math API庫,以及如何使用CUDA Thrust C++容器。

第9章“實現深度神經網絡”,介紹如何應用前面幾章中介紹的知識,從零開始構建一個完整的深度神經網絡。

第10章“應用編譯好的GPU代碼”,展示如何使用PyCUDA和Ctypes,實現Python代碼與預編譯的GPU代碼之間的交互。

第 11 章“CUDA性能優化”,講解非常底層的各種性能優化技巧,特別是與CUDA相關的技巧,例如向量化內存訪問、原子操作、線程束洗牌和使用內聯PTX匯編代碼。

第12章“未來展望”,給出一些教育規劃和職業規劃方面的內容。當然,這些都是以扎實掌握GPU編程基礎知識為前提的。

最后的“習題提示”針對各章的習題給出了解題思路。

主站蜘蛛池模板: 宕昌县| 安阳县| 玉环县| 新巴尔虎左旗| 广德县| 大邑县| 临潭县| 四平市| 东山县| 东山县| 金华市| 建始县| 临泽县| 财经| 武安市| 兴国县| 六安市| 利辛县| 兴隆县| 晋中市| 玛曲县| 徐闻县| 揭阳市| 漳浦县| 临武县| 夏津县| 万载县| 潞西市| 钟山县| 林西县| 崇州市| 阿鲁科尔沁旗| 和硕县| 东兰县| 商南县| 沙洋县| 米脂县| 安溪县| 娱乐| 辽阳县| 永善县|