最近在學習CUDA編程,將最近看到的一些資源進行匯總。
書籍和文檔
-
英偉達CUDA C++編程入門
NVIDIA CUDA C++ Programming Guide
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
官方的文檔我只是瀏覽了一遍,寫的很扎實,把一些基本的概念都講清楚了,但是因為是英文,可能對於有些同學有障礙。
當然也存在一些解讀,大致上瀏覽了一遍,講的還是比較籠統,詳細部分還是需要看官方的文檔:
https://zhuanlan.zhihu.com/p/53773183 -
英偉達CUDA C++最佳實踐
CUDA C++ Best Practices Guide
https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html
這個是面對實際應用場景而出的一個API,主要關注與怎么解決性能瓶頸,在內容上我看到有紋理內存,zeroCopy、控制流等,大致是在如何更快地優化CUDA上的運行性能。 -
CUDA by Example
http://www.mat.unimi.it/users/sansotte/cuda/CUDA_by_Example.pdf
https://developer.download.nvidia.com/books/cuda-by-example/cuda-by-example-sample.pdf
作者曾是nvidia的高級工程師,現在在google,差不多是前面兩個API文檔的總結。有中文版,名為《GPU高性能編程-CUDA實戰》,有個別翻譯錯誤,整體還不錯。 -
CUDA C編程權威指南
這么經典的書就不用我多說了,英文原版叫《Professional CUDA C Programming》:
http://www.hds.bme.hu/~fhegedus/C++/Professional CUDA C Programming.pdf
個人博客
譚升的博客
https://face2ai.com/program-blog/#GPU編程(CUDA)
對很多cuda基本概念進行了總結,講的還不錯,有對應的開源代碼。
https://github.com/Tony-Tan/CUDA_Freshman
CUDA編程入門系列
https://zhuanlan.zhihu.com/p/97044592
有6篇,講了一步步優化的方法,入門還是可以的。
CUDA編程系列
https://blog.csdn.net/sunmc1204953974/article/details/51000970
稍微有點老,不過還是有很多東西可以快速過一遍。
開源代碼
DeepSpeed
https://github.com/microsoft/DeepSpeed
微軟開源的深度學習分布式訓練加速引擎。