GPU与CPU

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

GPU与CPU的更多相关文章

  1. 【转】GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处

    在不少人的心目中,显卡最大的用途可能就只有两点--玩游戏.看电影,除此之外,GPU并没有其他的作用了.但是随着微软IE9的正式发布,不少人突然发现,微软一直提到一个名词:GPU硬件加速,从而也让不少人 ...

  2. GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处

    http://blog.csdn.net/maopig/article/details/6803141 在不少人的心目中,显卡最大的用途可能就只有两点——玩游戏.看电影,除此之外,GPU并没有其他的作 ...

  3. GPU、CPU的异同

    一.概念 CPU(Center Processing Unit)即中央处理器,GPU(Graphics Processing Unit)即图形处理器. 二.CPU和GPU的相同之处 两者都有总线和外界 ...

  4. YOLO---Darknet下的 GPU vs CPU 速度

    YOLO---Darknet下的 GPU vs CPU 速度 目录 一.基础环境 二.安装Darknet-yolo v3 三.CPU下测试 四.GPU下测试 五.测试速度对比结论 正文 一.基础环境 ...

  5. [深度学习] Pytorch(三)—— 多/单GPU、CPU,训练保存、加载模型参数问题

    [深度学习] Pytorch(三)-- 多/单GPU.CPU,训练保存.加载预测模型问题 上一篇实践学习中,遇到了在多/单个GPU.GPU与CPU的不同环境下训练保存.加载使用使用模型的问题,如果保存 ...

  6. 使用PCAST检测散度以比较GPU和CPU结果

    使用PCAST检测散度以比较GPU和CPU结果 并行编译器辅助软件测试(PCAST)是英伟达HPC FORTRAN.C++和C编译器中的一个特性.PCAST有两个用例.一个新的处理器或新的编译程序的部 ...

  7. 聊聊GPU与CPU的区别

    目录 前言 CPU是什么? GPU是什么? GPU与CPU的区别 GPU的由来 并行计算 GPU架构优化 GPU和CPU的应用场景 作者:小牛呼噜噜 | https://xiaoniuhululu.c ...

  8. 【异构计算】GPU与CPU

    引言 CPU和GPU都是具有运算能力的芯片.CPU更像“通才”主要指令运算(执行)为重和数值运算,而GPU更像“专才”,主要图形类数值计算为核心.在不同类型的运算方面的速度也就决定了它们的能力.芯片的 ...

  9. 基于opencv的gpu与cpu对比程序,代码来自opencv的文档中

    原文链接: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/gpu/gpu-basics-similarity/gpu-basi ...

随机推荐

  1. Hibernate各种查询方式及查询策略(转)

    转自:https://www.cnblogs.com/xujingyang/p/6734203.html 在了解Hibernate的基本知识后,重点让我们看下相关查询方式和查询优化策略吧! 话不多说, ...

  2. PyCharm永久破解方法

    1,下载破解补丁: https://pan.baidu.com/s/1LcXvupL00XTU-HHE1J6ynA 提取码: 8t1w 下载补丁文件 jetbrains-agent.jar 并将它放置 ...

  3. Java中的Redis 哨兵高可用性

    让我们探索Redis Sentinel,看看如何在Java上运行它,一起来看看,最近get了很多新知识,分享给大家参考学习.需要详细的java架构思维导图路线也可以评论获取! 什么是Redis哨兵? ...

  4. 使用windows api函数捕获SAP session的左下角消息句柄

    背景:SAP session的左下角消息非常有用,我们在做SAP的自动化脚本时可以设法读到这个消息的内容,作为程序后续动作的判断条件.如下图:        比如小爬之前给财务的同事制作了一个批量导出 ...

  5. CodeForces - 1239A

    推公式题,万万没想到斐波那契啊

  6. react-native-swiper使用的坑

    今天使用引入react-native-swiper组件使用轮播图时,发现报如下错误: Invarint Violation:ViewPagerAndroid has been removed from ...

  7. easyUI dataGrid主从表点击展开问题

    昨天在公司写代码遇到了一个问题,就是在用easyUI做主从表的时候在查询之后点击展开的时候不能再次展开了.先说一下主从表我也是第一次用 效果如下图: 然后点击前面的小加号出现以下效果: 然而遇到了一个 ...

  8. springBoot 集成redis客户端傻瓜式流程

    Redis目前作为很多项目的主流缓存方案,学习完redis的基本命令和特性后.我们要集成进我们的springboot项目中 不废话上代码 在application.yml中加入 spring: red ...

  9. Linux中 ps命令的参数讲解

    Linux命令ps: (Process Status的缩写)该命令常常用来用来列出系统中当前运行的进程.ps是显示瞬间进程的状态,并不动态连续:如果想对进程进行实时监控应该用top命令 -a 显示所有 ...

  10. MyBatis原理-注意点

    一.${}和#{}的区别 #{}:占位符号,好处防止sql注入 ${}:sql拼接符号 动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个重要原因.mybatis 在 ...