最近在学习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
微软开源的深度学习分布式训练加速引擎。