人工智能概论学习笔记(一):CPU & GPU
作者:王洋子豪
链接:https://www.zhihu.com/question/19903344/answer/13779421
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先需要解释CPU和GPU这两个缩写分别代表什么。CPU即中央处理器,GPU即图形处理器。其次,要解释两者的区别,要先明白两者的相同之处:两者都有总线和外界联系,有自己的缓存体系,以及数字和逻辑运算单元。一句话,两者都为了完成计算任务而设计。两者的区别在于存在于片内的缓存体系和数字逻辑运算单元的结构差异:CPU虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;GPU的核数远超CPU,被称为众核(NVIDIA Fermi有512个核)。每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单(GPU初始时在浮点计算上一直弱于CPU)。从结果上导致CPU擅长处理具有复杂计算步骤和复杂数据依赖的计算任务,如分布式计算,数据压缩,人工智能,物理模拟,以及其他很多很多计算任务等。GPU由于历史原因,是为了视频游戏而产生的(至今其主要驱动力还是不断增长的视频游戏市场),在三维游戏中常常出现的一类操作是对海量数据进行相同的操作,如:对每一个顶点进行同样的坐标变换,对每一个顶点按照同样的光照模型计算颜色值。GPU的众核架构非常适合把同样的指令流并行发送到众核上,采用不同的输入数据执行。在2003-2004年左右,图形学之外的领域专家开始注意到GPU与众不同的计算能力,开始尝试把GPU用于通用计算(即GPGPU)。之后NVIDIA发布了CUDA,AMD和Apple等公司也发布了OpenCL,GPU开始在通用计算领域得到广泛应用,包括:数值分析,海量数据处理(排序,Map-Reduce等),金融分析等等。简而言之,当程序员为CPU编写程序时,他们倾向于利用复杂的逻辑结构优化算法从而减少计算任务的运行时间,即Latency。当程序员为GPU编写程序时,则利用其处理海量数据的优势,通过提高总的数据吞吐量(Throughput)来掩盖Lantency。目前,CPU和GPU的区别正在逐渐缩小,因为GPU也在处理不规则任务和线程间通信方面有了长足的进步。另外,功耗问题对于GPU比CPU更严重。总的来讲,GPU和CPU的区别是个很大的话题,甚至可以花一个学期用32个学时十几次讲座来讲,所以如果提问者有更具体的问题,可以进一步提出。

人工智能概论学习笔记(一):CPU GPU相关推荐

  1. 嵌入式算法移植优化学习笔记5——CPU,GPU,TPU,NPU都是什么

    嵌入式算法移植优化学习笔记5--CPU,GPU,TPU,NPU都是什么 一.什么是CPU? 二.什么是GPU? 三.什么是NPU? 四.什么是TPU? 附: 随着AI的广泛应用,深度学习已成为当前AI ...

  2. 人工智能概论学习笔记(四):机器学习

    有监督学习和无监督学习的理解: 首先看什么是学习(learning)?一个成语就可概括:举一反三.此处以高考为例,高考的题目在上考场前我们未必做过,但在高中三年我们做过很多很多题目,懂解题方法,因此考 ...

  3. MOOC人工智能原理学习笔记1

    人工智能原理学习笔记1 The Foundations of AI: Philosophy Mathematics Economics Neuroscience Psychology Computer ...

  4. 人工智能导论学习笔记02

    人工智能导论学习笔记02--第二章 :人工智能哲学基础 人工智能导论学习笔记 人工智能导论学习笔记02--第二章 :人工智能哲学基础 第一讲 大历史观下的人工智能 宇宙演化 人类与生命进化 机器进化 ...

  5. 深度学习 基础硬件CPU GPU知识笔记

    参考:李沐<动手学深度学习v2>https://www.bilibili.com/video/BV1TU4y1j7Wd 桌面GPU排名:https://www.mydrivers.com/ ...

  6. 鸟叔的linux私房菜:第0章 计算机概论学习笔记(Learning Notes for Basic Computer Theory)

    本博客是针对<鸟叔的Linux私房菜 基础学习篇 第四版>的第0章 计算机概论的学习笔记. 1 电脑辅助人脑的好工具 11 计算机硬件的五大单元 12 一切设计的起点CPU的架构 其它单元 ...

  7. 山东大学软件学院人工智能导论学习笔记

    课程为山东大学软件学院人工智能专业2020年大二下学期的"人工智能导论"课程 目前课程内容:<人工智能导论(第四版)>1.2.3.4.5.6章 本学习笔记采用一种类似框 ...

  8. 人工智能入门学习笔记(一)

    家人们,好久不见哈!最近在尝试着学习人工智能的相关知识和具体技能呀.说实话,当像我这样的小白初探人工智能体系时,总是被很多未知的名词以及茫茫内容所淹没,便去想通过网络学习帮助自己建立正确的人工智能基本 ...

  9. 自兴动脑人工智能课程学习笔记一:机器学习

    一.人工智能时代首选python语言 (1)Python是人工智能和数据科学领域的主流语言,快速.高效.实用.Python常用的工具库Pandas.Numpy.Matplotlib.Scikit-le ...

最新文章

  1. java实现验证码功能
  2. 结构体和数组之间的映射关系
  3. redhat搭建NIS服务器
  4. LIstview滑动时不加载图片,停止时加载!
  5. 快慢指针____函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移
  6. Maven警告:“java使用了未经检查或不安全的操作。java: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。“
  7. VSCode开发.NETCore项目入门(1)设置中文语言环境
  8. Unity2020.1新功能探路:Profiler相关更新
  9. 电脑遇到问题需要重新启动_如何解决电脑风扇转一下就停开不了机的问题-系统城...
  10. 用python编计算器_python编计算器
  11. 室外宽温1口千兆光纤收发器工业导轨式发送机接收机单模单纤单电口
  12. openg 通用扫描画线算法
  13. jzoj 4638. 第三条跑道
  14. MySQL数据库 第4章:数据库设计
  15. delphi还有人用吗?delphi过时了吗?为什么还有人使用Delphi开发软件?一文说清Delphi的领先一个时代的开发工具DNA
  16. svn更新代码提示“系统找不到指定路径”
  17. mysql 没有my.cnf文件_Linux mysql没有my.cnf,替代文件为mysql.conf.d
  18. 我们为什么要上大学?
  19. Qt日期操作(QDateTime)
  20. js弹出对话确认框插件

热门文章

  1. AJAX 笔记 ajax
  2. 未发现任何版本的java 我的世界,没有我的世界Java版的童志们 注意啦!
  3. Python基于Flask框架前后端分离实现房屋租赁民宿预订平台
  4. 如何在Android中使用emojicon库集成表情符号, 妈妈在也不用担心我的表情了~~~
  5. ONE仿真器移动模型简介
  6. ##正则表达式常见类的使用
  7. could not find a distribution template for Deepin/n/a
  8. 六、MySQL数据库面试题(2021最新版)20210907
  9. nyoj19 擅长排列的小明
  10. 至联云讲解《助力IPFS飞奔》