關於CUDA的一些學習資料

2022-07-12 07:54:09 字數 781 閱讀 4722

最近看了一些關於cuda方面的資料,並粗略地瀏覽了兩本關於cuda和gpgpu的書(《gpgpu程式設計技術:從glsl、cuda到opencl》和《cuda並行程式設計:gpu程式設計指南》),對於cuda目前本人也是處於正在入門的階段。在此彙編cuda的學習資料,方便以後的學習。

所謂gpgpu,就是把強大的圖形處理器應用於日益複雜的計算工作。究其本質,圖形處理單元(graphices processor unit, gpu)是為高速圖形處理而設計的,它具有天然的並行性,程式並行執行自然要比序列快很多。

早期的gpgpu程式設計比較痛苦,經典的gpgpu需要使用通用的圖形api,比如opengl,而圖形api並不是為了通用程式而設計的,所以需要使用大量的技巧,讓通用計算的資料「看起來像幅圖」。除了難以掌握外,更重要的是不能根據硬體特性獲取硬體應有的效能,於是就產生了cuda。

cuda全名計算統一裝置架構(compute unified device architecture, cuda),東家是英偉達(nvidia)。cuda是專門為通用計算而設計的(tesla卡甚至連圖形輸出都沒有,專為計算而設計),cuda採用一種簡單的資料並行模型,再結合程式設計模型,從而無需操縱複雜的圖形基元,cuda使得gpu看起來和別的可程式設計裝置一樣。

更多書籍檢視豆列gpgpu&cuda。

cuda作為平行計算架構,通常會和其它並行架構一起配合使用。如openmp、openacc、mpi,openacc是nvidia明確支援的。

庫克. cuda並行程式設計[m]. 機械工業出版社, 2014.

仇德元. gpgpu程式設計技術. 機械工業出版社, 2011.

關於CUDA的一些學習資料

最近看了一些關於cuda方面的資料,並粗略地瀏覽了兩本關於cuda和gpgpu的書 gpgpu程式設計技術 從glsl cuda到opencl 和 cuda並行程式設計 gpu程式設計指南 對於cuda目前本人也是處於正在入門的階段。在此彙編cuda的學習資料,方便以後的學習。所謂gpgpu,就是把...

CUDA 優化的一些措施

一 在儲存器方面的優化 1.主機的記憶體分配 為了防止程式中分配的記憶體為分頁記憶體,有被置換出記憶體條的可能,可以呼叫cudaallochost函式來建立主機記憶體為非分頁記憶體。這樣在從主機至裝置,裝置至主機的記憶體複製操作時,可以大幅減小操作耗時,但是有個劣勢是非分頁記憶體始終佔據記憶體條空間...

CUDA學習筆記 一些基本概念

學習cuda程式設計過程中的一些筆記,記錄一些學習的情況吧。一般情況是記錄學習過程中自己的理解,而不是準確的公認的定義或公式,即在 學習筆記 中,我只記錄我理解並消化了的東西,那些我沒有理解的想作為今後學習的內容大概會放在其他記錄中。學習筆記中的內容有時候有可能不是那麼準確,不過隨著學習的深入我的理...