【轉(zhuǎn)載】推薦幾個不錯的CUDA入門教程

?最近因?yàn)轫?xiàng)目需要,入坑了CUDA,又要開始寫很久沒碰的C++了。對于CUDA編程以及它所需要的GPU、計(jì)算機(jī)組成、操作系統(tǒng)等基礎(chǔ)知識,我基本上都忘光了,因此也翻了不少教程。這里簡單整理一下,給同樣有入門需求的同學(xué)們參考一下。
?
官方文檔及書籍
英文好、時間充裕的同學(xué)可以精讀官方文檔或者著作。
NVIDIA CUDA C++ Programming Guide
「地址:」https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
這是英偉達(dá)官方的CUDA編程教程,但是我英文一般,簡單過了一遍之后感覺很多細(xì)節(jié)沒講,有一定的跳躍性,所以我看完還是很朦朧。
CUDA C++ Best Practices Guide
「地址:」https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html
這也是英偉達(dá)官方的CUDA編程教程,不過側(cè)重點(diǎn)在實(shí)踐方面,比如如何編程才能最大化利用GPU特性提升性能,建議基礎(chǔ)打好之后再來看這個。
CUDA C編程權(quán)威指南
這么經(jīng)典的書就不用我多說了,英文原版叫《Professional CUDA C Programming》,pdf地址在下面,如果打開比較慢的可以后臺回復(fù)【cuda】獲取pdf文件:http://www.hds.bme.hu/~fhegedus/C++/Professional%20CUDA%20C%20Programming.pdf
個人博客
像我這種英文差、想快速入門的只能找找中文博客看看了,還是找到不少非常奈斯的教程的。
譚升的博客(強(qiáng)推?。。。?/span>
「地址:」https://face2ai.com/program-blog/#GPU編程(CUDA)
這是我最近發(fā)現(xiàn)的又一個寶藏博主,看完他的GPU編程系列教程后感覺豁然開朗,很多底層的原理和細(xì)節(jié)都通徹了,「強(qiáng)烈安利!」
他在github還開源了教程對應(yīng)的示例代碼:https://github.com/Tony-Tan/CUDA_Freshman
CUDA編程入門極簡教程
「地址:」https://zhuanlan.zhihu.com/p/34587739
速覽即可,看完就會寫最簡單的CUDA代碼了。
《CUDA C Programming Guide》(《CUDA C 編程指南》)導(dǎo)讀
「地址:」https://zhuanlan.zhihu.com/p/53773183
這是NVIDIA CUDA C++ Programming Guide和《CUDA C編程權(quán)威指南》兩者的中文解讀,加入了很多作者自己的理解,對于快速入門還是很有幫助的。但還是感覺細(xì)節(jié)欠缺了一點(diǎn),建議不懂的地方還是去看原著。
CUDA編程入門系列
「地址:」https://zhuanlan.zhihu.com/p/97044592
這位大佬寫了六篇,主要是通過一個簡單的加法的例子,一步步講了CUDA優(yōu)化的若干種方法,拿來上手實(shí)踐一下還是很棒的。
CUDA編程系列
「地址:」https://blog.csdn.net/sunmc1204953974/article/details/51000970
這個系列寫的也是很全了,十幾篇,建議快速通讀一下。
開源代碼
有很多的CUDA源碼可以供我們慢慢學(xué)習(xí),我這就簡單給幾個典型的Transformer系列的加速代碼了。
LightSeq
「地址:」https://github.com/bytedance/lightseq
這是字節(jié)跳動開源的生成模型推理加速引擎,BERT、GPT、VAE等等全都支持,速度也是目前業(yè)界最快的之一。
FasterTransformer
「地址:」https://github.com/NVIDIA/DeepLearningExamples/tree/master/FasterTransformer
這是英偉達(dá)開源的Transformer推理加速引擎。
TurboTransformers
「地址:」https://github.com/Tencent/TurboTransformers
這是騰訊開源的Transformer推理加速引擎。
DeepSpeed
「地址:」https://github.com/microsoft/DeepSpeed
這是微軟開源的深度學(xué)習(xí)分布式訓(xùn)練加速引擎。
?我mentor說,不需要看這些,然后甩給了我20行代碼,說看懂了就行了。結(jié)果我看懂了,門還是沒開QAQ,所以建議還是看看底層一些的原理,加深自己的理解,特別是我強(qiáng)推的那篇博客。
?

作者簡介:godweiyang,知乎同名,華東師范大學(xué)計(jì)算機(jī)本碩,字節(jié)跳動算法工程師,研究方向句法分析、機(jī)器翻譯、模型壓縮。
