最近正在学习CUDA,这篇文章是对于GPU体系架构的笔记,参考了中科大的CUDA网课。总结如有错误或疏漏,欢迎各位指出。
1.为什么需要GPU呢?
在现代社会中,我们对于应用的需求越来越高,而计算机技术又是由应用进行驱动(Application Driven),我们急需强大的处理信息(计算)能力。由于这种对于计算能力的强烈需求,GPU应运而生。
GPU(Graphic Processing Unit)是一个异构的多处理器芯片,为图形图像处理进行优化。实际上GPU和CPU只是优化的内容不同,本质上完成的工作还是一样的。
从下图图中可以看到,NVIDIA的GPU自从诞生起,浮点运算能力就发展极其迅速。
(FLOP:每秒进行浮点运算的次数)
2.CPU与GPU(提升运算速度三种方法)
GPU中有很多执行单元,我们可以将每个执行单元理解成一个完整的小的处理器。每个执行单元有自己的取址译码单元(Fetch/Decode)、算术逻辑单元(ALU)、执行上下文(Execution Context)。
<