本节书摘来自华章计算机《CUDA C编程权威指南》一书中的第2章,第2.5节,作者 [美] 马克斯·格罗斯曼(Max Grossman),译 颜成钢 殷建 李亮,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.5 总结
与C语言中的并行编程相比,CUDA程序中的线程层次结构是其独有的结构。通过一个抽象的两级线程层次结构,CUDA能够控制一个大规模并行环境。通过本章的例子,你也学习到了网格和线程块的尺寸对内核性能有很大的影响。
对于一个给定的问题,你可以有多种选择来实现核函数和多种不同的配置来执行核函数。通常情况下,传统的实现方法无法获得最佳的内核性能。因此,学习如何组织线程是CUDA编程的重点之一。理解网格和线程块的启发性的最好方法就是编写程序,通过反复试验来扩展你的技能和知识。
对于内核执行来说网格和线程块代表了线程布局的逻辑视角。在第3章,你将会从硬件视角研究相同的问题。