CUDA编程04 - GPU计算架构和线程调度
在前面的CUDA编程01- 并行编程介绍中,我们了解到CPU的设计目的是最小化指令执行的延迟,而GPU的设计目的是最大化执行指令的吞吐量。在前面CUDA编程02 - 数据并行介绍和CUDA编程03 - 多维数据并行中,我们学习了使用CUDA编程接口创建和调用核函数来启动和执行线程的核心特性。在接下来的三篇文章中,我们将讨论现代GPU的架构,包括计算架构和内存架构,并探讨基于架构理解之上的性能优化技术。本章将介绍GPU计算架构的几个方面,这些方面对于CUDA C程序员理解其核函数的性能和行为至关重要。我们将首先展示一个简化的、高层次的计算架构视图,并探讨灵活的资