有沒有一本講解gpu和CUDA編程的經典入門書籍?


《Programming Massively Parallel Processors: A Hands-on Approach 》

《CUDA by Example: An Introduction to General-Purpose GPU Programming》

用來做入門參考還是可以得

第一本比有較多架構的介紹,第二本比較注重在CUDA平台上的編程.

都有中譯本,不過翻譯得不是很好


其實官方文檔更好,比如 guide 和 best practices http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html


我也在學習相關的知識, 最近正在看

《CUDA並行程序設計:GPU編程指南》

《CUDA By Example》,

前者前幾章講了很多硬體方面 ( cpu, gpu架構, 線程, 線程塊) 的知識, 還有一些並行計算的粗淺知識, 後面的還沒看到不好意思就不加評論了, 看到現在, 個人認為還挺清晰易懂的, 適合入門, 後者 (《CUDA By Example》)有很多示例code, 感覺架構的東西講的較少. 兩個結合起來應該還不錯.

提問者可以在網上下載一些所有回答里提到的那些書的電子版, 然後自己大概看一下目錄, 基本就能了解書中會講到哪些內容了.

還有這個分享給你

http://www.quora.com/What-is-best-way-to-learn-CUDA


大家都有推薦書了,這裡推薦下CS179:GPU Programming,該課程描述如下:

「This course will cover programming techniques for the GPU. The course will introduce NVIDIA"s parallel computing language, CUDA. Beyond covering the CUDA programming model and syntax, the course will also discuss GPU architecture, high performance computing on GPUs, parallel algorithms, CUDA libraries, and applications of GPU computing. Problem sets will cover performance optimization and specific GPU applications in numerical mathematics, medical imaging, finance, and other fields.」

裡面還有每節Lecture的ppt。有可能你會需要吧。http://courses.cms.caltech.edu/cs179/


推薦coursera上面UIUC的課 Heterogeneous Parallel Programming 老師就是高贊答案那個(Massive**)的作者,講的很清楚,編程習題也很好,入門沒問題


推薦閱讀:

有哪些語言的編譯器是用C++寫的? 為何選用C++
為什麼解釋型的腳本語言(如Lua、Python)可以熱更新,而編譯型的語言(如C、C++)不能呢?
C++ 析構函數問題?
只是為了建立一點編程的思想思維,學哪個語言最好?
學習編程語言最好的方法是什麼?

TAG:編程語言 | 計算機 | GPU通用計算 | 並行編程 | CUDA |