CUDA专题1:CUDA介绍
1.简介
1.1. 使用GPU的好处
图形处理单元(GPU)提供比中央处理单元(CPU)更高的指令吞吐量和内存带宽,且在相似的价格和功率范围内。许多应用程序利用这些更高的能力,使得在GPU上运行的速度比在CPU上更快(参见GPU应用)。其他计算设备,如现场可编程门阵列(FPGA),也具有较高的能效,但它们在编程灵活性上远不如GPU。
GPU和CPU之间的这种能力差异源于它们的设计目标不同。CPU的设计目标是尽可能快速地执行一系列操作(称为线程),并且能够并行执行几十个线程,而GPU的设计目标是能够并行执行成千上万个线程(通过分摊较慢的单线程性能,从而实现更高的吞吐量)。
GPU专门用于高度并行的计算,因此它的设计将更多的晶体管用于数据处理,而不是数据缓存和流程控制。图1展示了CPU和GPU芯片资源分配的示意图。
图1 GPU将更多晶体管用于数据处理
将更多的晶体管用于数据处理,例如浮点运算,对于高度并行的计算非常有利;GPU可以通过计算来隐藏内存访问延迟ÿ