GPU计算和GPU通用计算的区别

2025-02-24 10:28:25
推荐回答(2个)
回答1:

GPU的并行能力十分强大,这和它先天的结构体系有关。我们觉得,这么强大并行计算能力,只用在图形领域,实在太浪费了。所以,GPU通用计算就将GPU的性能引向任何需要高密度计算的领域。
传统的图形API包括OpenGL和DirectX,这类API是用GPU来处理图形的,其并行计算也是为了图形计算的。而专用的并行计算API,就是OpenCL这样的,我们可以让GPU计算流体,模拟爆炸——这些计算都不是图形计算。用OpenGL也可以做这些计算,但最终表现为一幅“图片”,只不过这图片不是美丽的图片,而是一组计算结果映射为图形矢量形成的杂乱无章的图——这就是早先的GPU通用计算。
GPU计算可以用在很多方面,在异构超级计算机中用得最为广泛。GPU计算也可以用来为视频转码……用处很多。

回答2:

GPU越来越强大,GPU为显示图像做了优化之外,在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的,也就是超于游戏,使得GPU能够发挥其强大的运算能力。
1、虽然我们看到CPU和GPU在运算能力上面的巨大差距,但是我们要看看他们设计之初所负责的工作。CPU设计之初所负责的是如何把一条一条的数据处理玩,CPU的内部结构可以分为控制单元、逻辑单元和存储单元三大部分,三个部分相互协调,便可以进行分析,判断、运算并控制计算机各部分协调工作。其中运算器主要完成各种算术运算(如加、减、乘、除)和逻辑运算( 如逻辑加、逻辑乘和非运算); 而控制器不具有运算功能,它只是读取各种指令,并对指令进行分析,作出相应的控制。
2、通常,在CPU中还有若干个寄存器,它们可直接参与运算并存放运算的中间结果。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。数据从输入设备流经内存,等待CPU的处理。
3、而GPU却从最初的设计就能够执行并行指令,从一个GPU核心收到一组多边形数据,到完成所有处理并输出图像可以做到完全独立。由于最初GPU就采用了大量的执行单元,这些执行单元可以轻松的加载并行处理,而不像CPU那样的单线程处理。另外,现代的GPU也可以在每个指令周期执行更多的单一指令。例如,在某些特定环境下,Tesla架构可以同时执行MAD+MUL or MAD+SFU。