CPU擅长处理具有复杂计算步骤同错综复杂数据因之测算任务。  CPU擅长处理具有复杂计算步骤同错综复杂数据因的算计任务。

一、概念

  CPU(Center Processing
Unit)即中央处理器,GPU(Graphics Processing
Unit)即图形处理器。

一、概念

  CPU(Center Processing
Unit)即中央处理器,GPU(Graphics Processing
Unit)即图形处理器。

其次、CPU和GPU的相同之处

  两者都出总线和外边联系,有谈得来之休养存体系,以及数字与逻辑运算单元,两者都为完成计算任务而规划。

仲、CPU和GPU的相同之处

  两者都发生总线和外沟通,有友好之苏存体系,以及数字与逻辑运算单元,两者都为完成计算任务而设计。

老三、CPU和GPU的不同之处

  CPU虽然发差不多对,但貌似为便几乎个,每个核都有足够深之缓存和足多的数字与逻辑运算单元,需要分外强的通用性来处理各种不同的数据类型,同时以使逻辑判断又见面引入大量的旁跳转和刹车的拍卖,并赞助有不少加快分支判断甚至更复杂的逻辑判断的硬件;

  GPU的核数远超CPU,被喻为众核(NVIDIA
Fermi有512独审批)。每个核拥有的休养存大小相对小,数字逻辑运算单元也丢要略(GPU初始时以浮点计算达直接弱于CPU),面对的则是种高度统一之、相互无据的宽泛数据与非需让由断的纯净的计量环境。

其三、CPU和GPU的不同之处

  CPU虽然发出多对,但一般也即几独,每个核都有足好之缓存和足够多之数字与逻辑运算单元,需要格外强之通用性来处理各种不同的数据类型,同时又如果逻辑判断又见面引入大量之分段跳转和间断的处理,并拉有为数不少加快分支判断甚至又扑朔迷离的逻辑判断的硬件;

  GPU的核数远超CPU,被喻为众核(NVIDIA
Fermi有512独按)。每个核拥有的休养生息存大小相对小,数字逻辑运算单元也遗落使简易(GPU初始时在浮点计算达一直弱于CPU),面对的尽管是路高度统一的、相互无据的泛数据以及免待让打断的单一的盘算环境。

四、结论

  CPU擅长处理具有复杂计算步骤同错综复杂数据因的盘算任务,如分布式计算,数据压缩,人工智能,物理模拟,以及任何多众乘除任务等。

  GPU由于历史原因,是为着视频游戏一经来的(至今该利害攸关驱动力还是穿梭增强的视频游戏市场),在三维游戏中经常出现的同接近操作是指向海量数据进行相同之操作,如:对各个一个巅峰进行同样的坐标变换,对各国一个终极按照同等的普照模型测算颜色值。GPU的众核架构非常适合把同的指令流并行发送到很多核上,采用不同之输入数据实行。在2003-2004年左右,图形学之外的领域专家开始留心到GPU与众不同的乘除能力,开始尝试将GPU用于通用计算(即GPGPU)。之后NVIDIA发布了CUDA,AMD和Apple等企业吗发布了OpenCL,GPU开始以通用计算领域得到广泛应用,包括:数值分析,海量数据处理(排序,Map-Reduce等),金融分析等等。

  GPU是基于大的吞吐量设计之,特点是有成百上千的ALU和大少的cache。CPU擅长逻辑控制,串行的演算。和通用项目数据运算不同,GPU擅长的是常见出现计算,这为亏密码破解等所待之。所以GPU除了图像处理,也越来越多的厕到计算中来。

  GPU的干活多数哪怕是如此,计算量大,但没关系技术含量,而且一旦重复多很频繁。就像而发只干活索要算几亿次一百坐内加减乘除一样,最好的法子尽管是雇上几十个小学生一样起算,一人数终于有,反正这些计算为无什么技术含量,纯粹体力活而已。而CPU就像老教授,积分微分都会算,就是工资高,一个总教授资顶二十单小学生,你而是富士康你雇哪个?纯粹的人海战术。这种政策基于一个前提,就是小学生A和小学校生B的行事无呀依赖性,是相独立的。很多关乎到大方盘算的题目基本还起这种特性,比如您说之破解密码,挖矿和不少图学的计。这些计算好分解为多独一样的简短多少任务,每个任务就是好划分吃一个小学生去开。但还有一些任务涉及到“流”的题材。比如你失去相亲,双方看在美妙才能够继承发展。总不能够而立即边还从来不见面吧,那边找人拿证都给受了。这种比较复杂的题材还是CPU来举行的。

  总而言之,CPU和GPU因为首用来处理的天职就差,所以计划性达到生免略之区别。而一些任务及GPU最初用来化解的题目比较相似,所以用GPU来算了。GPU的运算速度在雇了有些小学生,CPU的演算速度在请了何等厉害的授课。教授处理千头万绪任务之力量是轧压小学生的,但是于没那复杂的职责,还是到不停止人大半。当然现在之GPU也会开一些不怎么复杂的办事了,相当给升级成为初中生高中生的水平。但尚待CPU来将数据喂到嘴边才能够开始工作,究竟还是负CPU来管的。

Ps.什么类型的程序符合在GPU上运行?

  (1)计算密集型的次第。所谓计算密集型(Compute-intensive)的程序,就是其大部分运行时刻花在了寄存器运算上,寄存器的速与处理器的快相当,从寄存器读写多少几乎从未延时。可以开一下对待,读内存的推大概是几百单时钟周期;读硬盘的速就背着了,即便是SSD,
也实际上是太慢了。

  (2)易于并行的次第。GPU其实是同样种植SIMD(Single
Instruction Multiple
Data)架构,
他产生无数单审批,每一个复核在同一时间最好会召开同的政工。

   当程序员为CPU编写程序时,他们支持于采用复杂的逻辑结构优化算法从而减少计算任务之运行时,即Latency。当程序员为GPU编写程序时,则使其处理海量数据的优势,通过提高总的数额吞吐量(Throughput)来掩盖Lantency。目前,CPU和GPU的分在日渐缩小,因为GPU也当处理不规则任务以及线程间通信方面发了迅速的前进。另外,功耗问题对GPU比CPU更重。

四、结论

  CPU擅长处理具有复杂计算步骤同复杂性数据据之计任务,如分布式计算,数据压缩,人工智能,物理模拟,以及其它许多众测算任务相当。

  GPU由于历史由来,是以视频游戏而有的(至今该利害攸关驱动力还是频频增强之视频游戏市场),在三维游戏中不时出现的一样接近操作是本着海量数据开展相同的操作,如:对各国一个极限进行同样的坐标变换,对各级一个终极按照平的普照模型计算颜色值。GPU的众核架构非常适合把同的指令流并行发送至许多核上,采用不同的输入数据实行。在2003-2004年左右,图形学之外的领域专家开始注意到GPU与众不同的乘除能力,开始尝试将GPU用于通用计算(即GPGPU)。之后NVIDIA发布了CUDA,AMD和Apple等商家为宣告了OpenCL,GPU开始在通用计算领域获得广泛应用,包括:数值分析,海量数据处理(排序,Map-Reduce等),金融分析等等。

  GPU是依据大之吞吐量设计之,特点是生成百上千的ALU和死少之cache。CPU擅长逻辑控制,串行的运算。和通用项目数据运算不同,GPU擅长的凡大出现计算,这为亏密码破解等所急需之。所以GPU除了图像处理,也越来越多之与届计算中来。

  GPU的干活多数不怕是如此,计算量大,但没什么技术含量,而且若还多老大频繁。就像而有个工作索要算几亿次于一百盖内加减乘除一样,最好的法门就是雇上几十个小学生一样起算,一人数终于有,反正这些计算为从未什么技术含量,纯粹体力活而已。而CPU就像老教授,积分微分都会算,就是工薪高,一个总教授资顶二十只小学生,你而是富士康你雇哪个?纯粹的人海战术。这种政策基于一个前提,就是小学生A和小学校生B的行事无呀依赖性,是互独立的。很多涉及到大方盘算的题目基本还发出这种特性,比如您说之破解密码,挖矿和森图学的计。这些计算好讲为多独一样的简短多少任务,每个任务就是足以分开吃一个小学生去开。但还有一些任务涉及到“流”的题材。比如你失去接近,双方看在美丽才会连续发展。总不可知而立即边还并未会呢,那边找人管证都给受了。这种比较复杂的问题且是CPU来举行的。

  总而言之,CPU和GPU因为早期用来处理的任务便不同,所以计划性及有免略之分。而一些任务及GPU最初用来化解之问题较一般,所以用GPU来算了。GPU的运算速度取决于雇了小小学生,CPU的运算速度在请了多么厉害的教。教授处理复杂任务的力量是推压小学生的,但是于无那么复杂的职责,还是到不鸣金收兵人差不多。当然现在底GPU也能够举行一些多少复杂的办事了,相当给升级成初中生高中生的程度。但尚亟需CPU来拿数据喂到嘴边才能够开始工作,究竟还是靠CPU来管的。

Ps.什么类型的顺序符合当GPU上运行?

  (1)计算密集型的次第。所谓计算密集型(Compute-intensive)的程序,就是该大部分运作时刻花在了寄存器运算上,寄存器的速度与计算机的速相当,从寄存器读写多少几乎没有延时。可以做一下对比,读内存的延迟大概是几百个时钟周期;读硬盘的速度就不说了,即便是SSD,
也实在是最为慢了。

  (2)易于并行的主次。GPU其实是同等种植SIMD(Single
Instruction Multiple
Data)架构,
他出诸多个审批,每一个对在同一时间最好能举行相同的事情。

   当程序员为CPU编写程序时,他们支持被采取复杂的逻辑结构优化算法从而减少计算任务的运转时刻,即Latency。当程序员为GPU编写程序时,则以该拍卖海量数据的优势,通过提高总的数码吞吐量(Throughput)来掩盖Lantency。目前,CPU和GPU的区分在渐渐压缩,因为GPU也于处理不规则任务及线程间通信方面来矣便捷的升华。另外,功耗问题对于GPU比CPU更重。

相关文章