美文网首页
浅谈CPU和GPU

浅谈CPU和GPU

作者: 小小怪吃吃吃 | 来源:发表于2020-02-23 21:31 被阅读0次

            接触到深度学习后,开始了解到GPU,但其实对GPU为何适用于大数据运算以及CPU和GPU二者间的区别还不甚详解,恰逢今晚团队里讨论到该话题,也借机学习了一番。

    CPU和GPU是两种不同的处理器,CPU是存储程序、顺序执行的中央处理器,GPU是用来做图像处理的针对型处理器,受CPU的控制。在手机中,CPU与GPU集成在一个芯片内,称作CPU或GPU都可以。

    1、CPU和GPU的设计区别
            CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理,计算能力只是CPU中的小部分。GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。

    2、计算任务
            CPU擅长逻辑控制,串行的运算。和通用类型数据运算不同,GPU擅长的是大规模并发计算,适合运行计算密集型且易于并行的程序。

    3、二者区别
            两者的区别在于存在于片内的缓存体系和数字逻辑运算单元的结构差异:CPU虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;GPU的核数远超CPU,被称为众核。每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单(GPU初始时在浮点计算上一直弱于CPU)。从结果上导致CPU擅长处理具有复杂计算步骤和复杂数据依赖的计算任务,如分布式计算,数据压缩,人工智能,物理模拟,以及其他很多很多计算任务等。GPU由于历史原因,是为了视频游戏而产生的,在三维游戏中常常出现的一类操作是对海量数据进行相同的操作,如:对每一个顶点进行同样的坐标变换,对每一个顶点按照同样的光照模型计算颜色值。GPU的众核架构非常适合把同样的指令流并行发送到众核上,采用不同的输入数据执行。在2003-2004年左右,图形学之外的领域专家开始注意到GPU与众不同的计算能力,开始尝试把GPU用于通用计算(即GPGPU)。之后NVIDIA发布了CUDA,AMD和Apple等公司也发布了OpenCL,GPU开始在通用计算领域得到广泛应用,包括:数值分析,海量数据处理(排序,Map-Reduce等),金融分析等等。

    4、为什么深度学习中使用GPU
            

    深度学习与图形处理有一些相通的地方,它需要大量的数据来“训练”模型。比如一个猫图识别AI,你需要提供数以万计的猫图供其“学习”。而每一张猫图的学习又与其他猫图没有先后关系,即你可以同时并行100、1000张猫图的学习,所以GPU在深度学习领域大放异彩。

    来源链接:
    1、https://www.zhihu.com/question/19903344
    2、https://www.cnblogs.com/cation/p/11307800.html

    相关文章

      网友评论

          本文标题:浅谈CPU和GPU

          本文链接:https://www.haomeiwen.com/subject/kdzsqhtx.html