天天看點

《CUDA高性能并行計算》----3.5 本章小結

在本章中,我們使用cuda依次建立了<code>dist_v1</code>與<code>dist_v2</code>的并行化版本<code>—dist_v1_cuda</code>與<code>dist_v2_cuda</code>。

<code>dist_v2_cuda</code>為cuda應用标準工作流程提供範例。下面是一些簡明的内容回顧(cuda應用包括的大緻步驟):

建立主機端輸入和輸出的數組,為輸入資料和結果提供存儲空間。

在裝置端上為類似的輸入和輸出數組聲明指針并配置設定記憶體。

将輸入資料從主機端複制到裝置端對應的數組上。

啟動一個核函數在裝置端上進行計算并将結果寫入裝置端的輸出數組。

将結果從裝置端的數組複制到主機端對應的數組上。

釋放為數組配置設定的記憶體。

恭喜你,你已經邁入了大規模并行計算的大門。現在你應該能夠開始修改一些樣例應用和cuda樣例來建立你自己的cuda應用了。注意我們用“需知”(need-to-know)的理念來盡量快速和簡明地完成cuda的入門部分。我們實作了标準的cuda操作流程(其中包括在主機端和裝置端分别存儲一份資料以及顯式的資料傳輸的函數調用),也實作了使用統一記憶體這一簡便方法來讓開發方法變得盡可能簡單。

雖然我們快速實作了最初希望利用cuda能力的目标,但是值得注意的是我們跳過了一些應該考慮的重要問題(錯誤處理、cuda調試、計時以及性能分析等),當你開發較大的cuda項目時。這些是你需要(至少是想要)知道的。這些主題将在附錄d中讨論,讀者現在已經掌握了閱讀它們的背景知識。在這裡,我們推薦讀者去進行下面章節的學習,并在需要掌握關于錯誤處理、調試、計時或者性能分析的相關細節知識時,再去參閱附錄d中一些實踐技巧的内容。