CPU和GPU的几点区别

GPU和CPU设备的架构是不同的,主要有以下几点:

1、CPU的设计是用来运行少量比较复杂的任务,主要针对执行大量离散而不相关任务的系统;而GPU的设计主要用来执行大量比较简单的任务,主要针对解决那些可以分解成成千上万个小块并可独立运行的问题,因此,CPU适合运行操作系统和应用程序软件,即便有大量的各种各样的任务,也可妥善处理。

2、两者支持的线程方式不同。CPU的每个核只有少量的寄存器,为了能执行不同的任务,需要进行快速的上下文切换,每一次切换需要保存到RAM中,付出代价较大。而GPU同样需要上下文切换,但是GPU拥有多个寄存器组而不是单个寄存器组,因此,一次上下文切换只需要设置一个寄存器调度者,用于将当前寄存器组里的内容换进、换出,速度比将数据保存在RAM快好几个量级。

3、处理失速状态:这种现象通常是由I/O操作和内存获取引起的。CPU的调度策略是基于时间分片,将时间平均分配给每个线程。一旦线程的数量增加,上下文切换的时间百分比就会增加,效率就会下降。GPU采用的数据并行的模式,利用有效的工作池保持一致有事可做,不会出现闲置状态。因此,当GPU遇到内存获取操作或在等待计算结果时,流处理器就会切换到另一个指令流,而在之后再执行之前被阻塞的指令。

4、处理器数量上的差异。CPU是典型的双核或四核或者核更多的设备,而目前的gtx1080(帕斯卡)有4组GPC(显卡处理集群),每组GPC中有5个SM(128个CUDA cores),一共20个SM,每个SM可看作是CPU的一个核,CPU通常是单线程的程序,即每个核的每次迭代仅计算一个数,但是GPU默认的是并行的模式,它的SM每次可同时计算32个数(执行一个warp指令)而不是像CPU那样只计算一个数。

5、GPU为每个SM提供了唯一并且高速的存储器,即共享内存,为线程之间(一般为每个block之间)的通讯提供了重要机制。


欢迎批评指正!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值