推荐几个不错的CUDA入门教程(非广告)

简介: 最近因为项目需要,入坑了CUDA,又要开始写很久没碰的C++了。对于CUDA编程以及它所需要的GPU、计算机组成、操作系统等基础知识,我基本上都忘光了,因此也翻了不少教程。这里简单整理一下,给同样有入门需求的同学们参考一下

最近因为项目需要,入坑了CUDA,又要开始写很久没碰的C++了。对于CUDA编程以及它所需要的GPU、计算机组成、操作系统等基础知识,我基本上都忘光了,因此也翻了不少教程。这里简单整理一下,给同样有入门需求的同学们参考一下。

官方文档及书籍


英文好、时间充裕的同学可以精读官方文档或者著作。

NVIDIA CUDA C++ Programming Guide

「地址:」https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html

这是英伟达官方的CUDA编程教程,但是我英文一般,简单过了一遍之后感觉很多细节没讲,有一定的跳跃性,所以我看完还是很朦胧。

CUDA C++ Best Practices Guide

「地址:」https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html

这也是英伟达官方的CUDA编程教程,不过侧重点在实践方面,比如如何编程才能最大化利用GPU特性提升性能,建议基础打好之后再来看这个。

CUDA C编程权威指南

这么经典的书就不用我多说了,英文原版叫《Professional CUDA C Programming》,pdf地址在下面,如果打开比较慢的可以后台回复【cuda】获取pdf文件:http://www.hds.bme.hu/~fhegedus/C++/Professional%20CUDA%20C%20Programming.pdf

个人博客


像我这种英文差、想快速入门的只能找找中文博客看看了,还是找到不少非常奈斯的教程的。

谭升的博客(强推!!!)

「地址:」https://face2ai.com/program-blog/#GPU编程(CUDA)

这是我最近发现的又一个宝藏博主,看完他的GPU编程系列教程后感觉豁然开朗,很多底层的原理和细节都通彻了,「强烈安利!」

他在github还开源了教程对应的示例代码:https://github.com/Tony-Tan/CUDA_Freshman

CUDA编程入门极简教程

「地址:」https://zhuanlan.zhihu.com/p/34587739

速览即可,看完就会写最简单的CUDA代码了。

《CUDA C Programming Guide》(《CUDA C 编程指南》)导读

「地址:」https://zhuanlan.zhihu.com/p/53773183

这是NVIDIA CUDA C++ Programming Guide和《CUDA C编程权威指南》两者的中文解读,加入了很多作者自己的理解,对于快速入门还是很有帮助的。但还是感觉细节欠缺了一点,建议不懂的地方还是去看原著。

CUDA编程入门系列

「地址:」https://zhuanlan.zhihu.com/p/97044592

这位大佬写了六篇,主要是通过一个简单的加法的例子,一步步讲了CUDA优化的若干种方法,拿来上手实践一下还是很棒的。

CUDA编程系列

「地址:」https://blog.csdn.net/sunmc1204953974/article/details/51000970

这个系列写的也是很全了,十几篇,建议快速通读一下。

开源代码


有很多的CUDA源码可以供我们慢慢学习,我这就简单给几个典型的Transformer系列的加速代码了。

LightSeq

「地址:」https://github.com/bytedance/lightseq

这是字节跳动开源的生成模型推理加速引擎,BERT、GPT、VAE等等全都支持,速度也是目前业界最快的之一。

FasterTransformer

「地址:」https://github.com/NVIDIA/DeepLearningExamples/tree/master/FasterTransformer

这是英伟达开源的Transformer推理加速引擎。

TurboTransformers

「地址:」https://github.com/Tencent/TurboTransformers

这是腾讯开源的Transformer推理加速引擎。

DeepSpeed

「地址:」https://github.com/microsoft/DeepSpeed

这是微软开源的深度学习分布式训练加速引擎。

我mentor说,不需要看这些,然后甩给了我20行代码,说看懂了就行了。结果我看懂了,门还是没开QAQ,所以建议还是看看底层一些的原理,加深自己的理解,特别是我强推的那篇博客。

image.png

作者简介:godweiyang知乎同名华东师范大学计算机本硕,字节跳动算法工程师,研究方向句法分析、机器翻译、模型压缩


相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
机器学习/深度学习 并行计算 C语言
推荐几个不错的CUDA入门教程(非广告)
推荐几个不错的CUDA入门教程(非广告)
667 1
|
TensorFlow 算法框架/工具 iOS开发
《从零到一:IOS平台TensorFlow入门及应用详解(附源》电子版地址
从零到一:IOS平台TensorFlow入门及应用详解(附源
82 0
《从零到一:IOS平台TensorFlow入门及应用详解(附源》电子版地址
|
TensorFlow 算法框架/工具 iOS开发
《从零到一:IOS平台TensorFlow入门及应用详解(附源码)》电子版地址
从零到一:IOS平台TensorFlow入门及应用详解(附源码)
116 0
《从零到一:IOS平台TensorFlow入门及应用详解(附源码)》电子版地址
|
并行计算 编译器 C语言
|
并行计算 编译器 C语言
|
存储 并行计算 调度
|
存储 缓存 并行计算
|
并行计算 API 异构计算
下一篇
无影云桌面