英文好、时间充裕的同学可以精读官方文档或者著作。
「地址:」CUDA C++ Programming Guide
这是英伟达官方的CUDA编程教程,但是我英文一般,简单过了一遍之后感觉很多细节没讲,有一定的跳跃性,所以我看完还是很朦胧。
「地址:」CUDA C++ Best Practices Guide
这也是英伟达官方的CUDA编程教程,不过侧重点在实践方面,比如如何编程才能最大化利用GPU特性提升性能,建议基础打好之后再来看这个。
这么经典的书就不用我多说了,英文原版叫《Professional CUDA C Programming》,pdf地址在下面,如果打开比较慢的可以后台回复【cuda】获取pdf文件:http://www.hds.bme.hu/~fhegedus/C++/Professional%20CUDA%20C%20Programming.pdf
像我这种英文差、想快速入门的只能找找中文博客看看了,还是找到不少非常奈斯的教程的。
「地址:」人工智能编程 | 谭升的博客编程(CUDA)
这是我最近发现的又一个宝藏博主,看完他的GPU编程系列教程后感觉豁然开朗,很多底层的原理和细节都通彻了,「强烈安利!」
他在github还开源了教程对应的示例代码:GitHub - Tony-Tan/CUDA_Freshman
「地址:」CUDA编程入门极简教程 - 知乎
速览即可,看完就会写最简单的CUDA代码了。
「地址:」《CUDA C Programming Guide》(《CUDA C 编程指南》)导读 - 知乎
这是NVIDIA CUDA C++ Programming Guide和《CUDA C编程权威指南》两者的中文解读,加入了很多作者自己的理解,对于快速入门还是很有帮助的。但还是感觉细节欠缺了一点,建议不懂的地方还是去看原著。
「地址:」CUDA编程入门(一)CUDA编程模型 - 知乎
这位大佬写了六篇,主要是通过一个简单的加法的例子,一步步讲了CUDA优化的若干种方法,拿来上手实践一下还是很棒的。
「地址:」CUDA编程(一)第一个CUDA程序_delphi 利用gpu计算_MingChaoSun的博客-CSDN博客
这个系列写的也是很全了,十几篇,建议快速通读一下。
有很多的CUDA源码可以供我们慢慢学习,我这就简单给几个典型的Transformer系列的加速代码了。
「地址:」GitHub - bytedance/lightseq: LightSeq: A High Performance Library for Sequence Processing and Generation
这是字节跳动开源的生成模型推理加速引擎,BERT、GPT、VAE等等全都支持,速度也是目前业界最快的之一。
「地址:」https://github.com/NVIDIA/DeepLearningExamples/tree/master/FasterTransformer
这是英伟达开源的Transformer推理加速引擎。
「地址:」GitHub - Tencent/TurboTransformers: a fast and user-friendly runtime for transformer inference (Bert, Albert, GPT2, Decoders, etc) on CPU and GPU.
这是腾讯开源的Transformer推理加速引擎。
「地址:」GitHub - microsoft/DeepSpeed: DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.
这是微软开源的深度学习分布式训练加速引擎。