一、简介
1.1GPU的优势
图形处理单元(GPU)1在相同的价格和功率范围内提供比CPU高得多的指令吞吐量和内存带宽。许多应用程序利用这些更高的功能在GPU上比在CPU上运行得更快(参见GPU应用程序)。其他计算设备,如fpga,也非常节能,但提供的编程灵活性远不如gpu。
GPU和CPU之间的这种能力差异的存在是因为它们在设计时考虑了不同的目标。CPU被设计成擅长于尽可能快地执行一系列被称为线程的操作,并且可以并行执行几十个线程,而GPU被设计成擅长于并行执行数千个线程(摊销较慢的单线程性能以获得更大的吞吐量)。
GPU专门用于高度并行计算,因此设计了更多的晶体管用于数据处理,而不是数据缓存和流控制。下图显示了CPU与GPU的芯片资源分布示例。
1.2 CUDA®:通用并行计算平台和编程模型
2006年11月,NVIDIA®推出了CUDA®,