天天看點

《CUDA C程式設計權威指南》——3.7 總結

本節書摘來自華章計算機《cuda c程式設計權威指南》一書中的第3章,第3.7節,作者 [美] 馬克斯·格羅斯曼(max grossman),譯 顔成鋼 殷建 李亮,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

本章從硬體的角度分析了核心執行。在gpu裝置上,cuda執行模型有兩個最顯著的特性:

使用simt方式線上程束中執行線程

線上程塊與線程中配置設定了硬體資源

這些執行模型的特征使得我們在提高并行性和性能時,能控制應用程式是如何讓指令和記憶體帶寬飽和的。不同計算能力的gpu裝置有不同的硬體限制,是以,網格和線程塊的啟發式算法在為不同平台優化核心性能方面發揮了非常重要的作用。

動态并行使裝置能夠直接建立新的工作。它確定我們可以用一種更自然和更易于了解的方式來表達遞歸或依賴資料并行的算法。為實作一個有效的嵌套核心,必須注意裝置運作時的使用,其包括子網格啟動政策、父子同步和嵌套層的深度。

本章也介紹了使用指令行分析工具nvprof詳細分析核心性能的方法。因為一個單純的核心實作可能不會産生很好的性能,是以配置檔案驅動的方法在cuda程式設計中尤其重要。性能分析對核心行為提供了詳細的分析,并能找到産生最佳性能的主要因素。

在第4章和第5章,将會從cuda記憶體模型的角度介紹核心執行的内容。

繼續閱讀