GPU与CPU

摘要:
GPU和CPU CPU,也称为中央处理单元,主要由控制器、运算单元、寄存器、高速缓冲区和数据/控制/状态总线组成。GPU GPU称为GraphicsProcessingUnit,即图形处理器。GPU最初是为终端游戏设计的。由于对游戏中的大量数据重复相同的操作,GPU面临着类型高度统一、相互依赖的大规模数据。GPU的内核远多于CPU。它向多个内核发送相同的指令以处理不同的数据。这种架构有利于GPU处理具有大量数据的问题。CPU和GPU的主要区别在于CPU是通用计算,而GPU是专用计算。

GPU与CPU

CPU
  • CPU,也就是中央处理器,结构主要包括控制器(指挥各部分工作)、运算器(实现数据加工)、寄存器、高缓以及数据/控制/状态总线。计算机的性能很大程度上依赖于CPU,CPU的功能包括程序控制(控制指令执行的先后顺序)、操作控制(控制指令操作)、时间控制(控制各种操作的时间)、数据加工(实现数据的算术和逻辑运算)等,简单来说,CPU就是对指令流和数据流进行时间和空间上的控制。CPU擅长处理诸如分布式、协调控制这种复杂运算,具有很强的通用性。
  • enter image description here
  • enter image description here
  • 由于CPU中存储单元和控制单元占用了大量空间,所以计算单元是受限的,这一缺点在并行问题上就体现出来了,它在要求大规模与快处理速度的问题上显得有些局限。因此,拥有众多计算单元的GPU就出现了。
GPU
  • GPU全称为Graphics Processing Unit,即图形处理器。
  • GPU最初是为了端游设计的,因为在游戏中要对大量数据重复相同的操作,所以GPU面对的是类型高度统一、相互无依赖的大规模数据。由于设计目标不同,所以GPU和CPU在架构上差异很大。GPU中有很多计算单元,流水线也相当长,而逻辑运算单元设计相对简单。GPU的核数远远多于CPU,将相同的指令发送到众核上处理不同的数据,这一架构有利于GPU处理拥有很多数据的问题。
  • enter image description here
区别
  • CPU和GPU的主要区别是CPU是通用计算,而GPU是专用计算。
  • 打个比方来讲,CPU是老教授,能力很强但数量很少,GPU是小学生,能力很弱但数量众多。
  • 提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算。
  • 拥有更高的访存速度。
  • 更高的浮点运算能力。浮点运算能力是关系到处理器的多媒体、3D图形处理的一个重要指标。现在的计算机技术中,由于大量多媒体技术的应用,浮点数的计算大大增加了,比如3D图形的渲染等工作,因此浮点运算的能力是考察处理器计算能力的重要指标。
  • 深度学习是模拟人脑神经系统而建立的数学网络模型,这个模型的最大特点是,需要大数据来训练。因此,对电脑处理器的要求,就是需要大量的并行的重复计算,GPU正好有这个专长,时势造英雄,因此,GPU就出山担当重任了。
  • enter image description here

免责声明:文章转载自《GPU与CPU》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇NodeJs使用jwt生成token以及使用express-jwt校验和解密token高斯键盘设置指南下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转】CUDA程序优化要点

CUDA程序优化应该考虑的点:精度:只在关键步骤使用双精度,其他部分仍然使用单精度浮点以获得指令吞吐量和精度的平衡;    目前 GPU 的单精度性能要远远超过双精度性能,整数乘法、求模、求余等运算的指令吞吐量也较为有限。在科学计算中,由于需要处理的数据量巨大,往往采用双精度或者四精度才能获得可靠的结果,目前的 Tesla 架构还不能很好的满足高精度计算的...

根据CPU核心数确定线程池并发线程数

目录 一、抛出问题 二、分析 三、实际应用 四、总结: 正文 回到顶部 一、抛出问题 关于如何计算并发线程数,一般分两派,来自两本书,且都是好书,到底哪个是对的?问题追踪后,整理如下: 第一派:《Java Concurrency in Practice》即《java并发编程实践》,如下图: 如上图,在《Java Concurrency in...

时间序列数据库调研之InfluxDB

基于 Go 语言开发,社区非常活跃,项目更新速度很快,日新月异,关注度高 测试版本 1.0.0_beta2-1 安装部署 wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.0_beta2.x86_64.rpm sudo yum localinstall influxdb-1.0.0...

Linux下查看内存使用情况方法总结

在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。...

《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程

计算机原理概念: 1、CPU和内存中的存储单元通信线路称为总线(BUS),总线是被指令和数据复用的,所以也称为前端总线。 2、计算机中计算频率的时间标准即晶体振荡器原理,精确计算时间长度,根据相同的时间统计变化的次数,即保持时钟同步。 3、每一个芯片在厂家生产时都有一个以微码(汇编语言)形式存在内置接口,完成一定意义上的智能操作。 4、CPU中控制器在未从...

IIS 之 应用程序池

IIS(Internet Information Services),由于我使用的是Windows10系统,所以本文以其内置 10.0.14393.0 版本说明。 应用程序池 → 右键(待设置应用程序池)→ 高级设置,如下图:   1、常规,如下图: 1.1 .NET CLR 版本 [managedRuntimeVersion] 配置应用程序池,以加载...