GPU与CPU比较
2017-03-21 10:32
197 查看
现在更多被需要的依然是CPU,只是GPU在大规模并发计算中体现出其一技之长所以应用范围逐渐变得广泛,并成为近些年的热点话题之一。
为什么二者会有如此的不同呢?首先要从CPU和GPU的区别说起。
CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。
于是CPU和GPU就呈现出非常不同的架构(示意图):
图片来自nVidia CUDA文档。其中绿色的是计算单元,橙红色的是存储单元,橙黄色的是控制单元。
GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分。
所以与CPU擅长逻辑控制和通用类型数据运算不同,GPU擅长的是大规模并发计算,这也正是密码破解等所需要的。所以GPU除了图像处理,也越来越多的参与到计算当中来。
为什么二者会有如此的不同呢?首先要从CPU和GPU的区别说起。
CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。
于是CPU和GPU就呈现出非常不同的架构(示意图):
图片来自nVidia CUDA文档。其中绿色的是计算单元,橙红色的是存储单元,橙黄色的是控制单元。
GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分。
所以与CPU擅长逻辑控制和通用类型数据运算不同,GPU擅长的是大规模并发计算,这也正是密码破解等所需要的。所以GPU除了图像处理,也越来越多的参与到计算当中来。
相关文章推荐
- 组成:GPU与CPU的比较
- GPU与CPU性能比较
- C++ AMP 加速大规模并行计算-GPU和CPU的性能比较
- 一个程序来比较cuda/c在GPU/CPU的运行效率
- GPU CPU各自的特长比较
- 一个程序来比较cuda/c在GPU/CPU的运行效率
- CPU与GPU版金字塔光流法在速度上的比较
- GPU上和CPU上执行函数时间比较
- CPU与GPU性能的比较报告
- 一个不错的关于CPU和GPU(CUDA)的性能比较讨论话题
- CPU 和 GPU, 还有生活
- CPU GPU设计工作原理《转》
- windows配置caffe及matlab/python接口编译和调用(cpu/gpu)
- 动手实践:搭建yolo v2(CPU+GPU)
- Tensorflow--GPU/CPU/ contain variables in different devices
- 异构计算(CPU + GPU)编程简介
- CUDA随笔:CPU和GPU的联系和区别
- 基于opencv的gpu与cpu对比程序,代码来自opencv的文档中
- 浅谈多节点CPU+GPU协同计算负载均衡性设计
- Windows10下安装caffe2 支持GPU和CPU