知乎可以参考:
https://zhuanlan.zhihu.com/p/56374118
这是 NVIDIA 和 UDACITY 合作出品的课程,虽然过去了 7、8 年了,依然是经典。

CUDA 的整体结构:

CUDA 的数据流:

相比于 cpu 的并行,gpu 的并行开销更小。
cpu 的并行部分是需要操作系统支撑的,当然如 x86,arm 也会有 vector 的向量处理单元,同时有对应的 avx/neon 指令集作为支撑。
但他们的主要内容还是处理复杂的串行逻辑运算。

代码可以参考:
https://blog.csdn.net/qq_31112205/article/details/105316225
直接引用的 udacity 的例子。

注意其中 square 函数的调用:

函数调用的 dim 支持三维:

gpu 的网格结构:


第一个 cuda 程序抽象总结:

map 的概念引入:

L1 总结:

要理解 gpu 的 thread 和 block,建议参考这篇文章:
https://blog.csdn.net/qq_34488063/article/details/52162454


↙↙↙阅读原文可查看相关链接,并与作者交流