GPU与CPU性能比较

以下是参考2009年出版的书比较的,不要忘了时代在进步哦


1、线程                                      

CPU

       一个核心通常在一个时刻只能运行一个线程指令,CPU的多线程机制通过操作系统提供的API实现,是一种软件粗粒度多线程。当一个线程中断,或者等待某种资源时,操作系统就保存当前线程的上下文,并装载另外一个线程的上下文。所以,切换线程的代价十分昂贵。通常要数百个时钟周期。

       超线程可以将核心虚拟成多个核心,但每个虚拟核心在一个时刻也只能运行一个线程。

GPU

        轻量级线程,零开销线程切换,因此,当线程因为访问片外存储器或同步指令开始等待时,可以即时切换到另外一个处于就绪态的线程,用计算来隐藏延迟。所以当计算密度比较高时,延迟就可以被隐藏。


2、核心

CPU

        2-8核心,每个核心3-6执行流水线,高指令并行技术,如:超标量超深流水线,乱序执行,预测执行,以及大容量缓存,SSE、3Dnow!一类数据级并行技术。

GPU

        1-30个流多处理器,每个流多处理器包含8个1D流处理器的SIMD处理器。多流处理器间粗粒度任务级或数据并行,流多处理器内细粒度数据并行。


3、外部存储器

       GT200的显存带宽:140GB/s   是同期CPU的内存带宽五倍

4、缓存

      CPU

        用于减小访存延迟和节约带宽,在多线程环境下会发生失效反应:每次线程上下文切换后,需要重新建立缓存上下文,一次缓存失效的代价是几十到上百个时钟周期。

        同时为了实现缓存与内存中数据的一致性,还需要复杂的逻辑进行控制。

      GPU

        没有复杂的缓存体系和替换机制,缓存是只读的,没有缓存一致性问题,缓存主要用于过滤对存储器控制器的请求,减少对显存的访问。所以缓存的主要功能是节约显存带宽,而不是减小访存延迟。


总结:GPU适合用于高密度数据运算,CPU擅长复杂逻辑和事物处理等串行计算。


参考书籍:《GPU 高性能运算之CUDA》中国水利水电出版社


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值