跳转到主要内容

【工程师必看】GPU与CPU的性能对比

cathy /

CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断,还会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂,而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。

<center><img src="http://mouser.eetrend.com/files/2017-07/wen_zhang_/100007093-22809-c1.j…; alt=“” width="600"></center>

这个视频,非常具象的表述了CPU和GPU在图像处理时的不同的原理和方法。看到GPU的模型喷射出的一瞬间,你就秒懂了。

无人驾驶 | 低功耗如何支撑起无人驾驶强计算?

cathy /

从前人们认为“无人驾驶 ”、“机器驾驶员解放人类驾驶员”这样的概念还遥不可及,然而英特尔正在让这样的构想落地。为了驱动车轮上的数据中心,英特尔当前在无人驾驶领域的发力用 “不积跬步无以至千里 ”来形容再合适不过,而其中的六大技术即是“跬步”,也是助力无人驾驶车辆致千里的关键所在。

你知道吗?未来,一辆无人驾驶汽车在90分钟之内就会产生4TB的数据量,这些数据可以帮助汽车了解其所在环境,让车辆可以安全的行驶在道路上。如果没有车内人工智能利用机器视觉和深度学习实时对数据加以分析,无人驾驶汽车就很难轻松上路。但这类人工智能负载通常需要消耗非常多的电力,并且难以在车内有限的功率下运行。因此,如果能用更低功耗来支撑更强大的计算,就会更有效地利用人工智能帮助汽车做决策。英特尔研发基于OpenCL*的DLA (Deep Learning Accelerator) 就可以有效解决这一难题,为功耗减负、为计算加码。

<strong>能效乘法:对CPU和FPGA进行优化分区</strong>

CPU能否通过增大面积来提高性能?

cathy /

通过增大芯片面积,一个芯片中可以放下更多的晶体管,更多的晶体管可以实现功能更复杂,性能更高的芯片呢。为什么半导体行业却没有这么发展呢?

这是一个比较有意思的问题。乍一看貌似很有道理的样子,通过增大芯片面积,一个芯片中可以放下更多的晶体管,更多的晶体管可以实现功能更复杂,性能更高的芯片呢。为什么半导体行业却没有这么发展呢?

首先我们看一下,一颗芯片是怎样制造出来的呢?在半导体制造中,先将单晶硅棒经过抛光、切片之后,成为了晶元(wafer)。而每一片wafer经过掺杂、光刻、等步奏后形成一个个芯片。

<center><img src="http://mouser.eetrend.com/files/2017-06/wen_zhang_/100006672-21098-cpu1…; alt=“” width="600"></center>

成品的wafer一般长成下图,wafer内一小块一小块的正方形我们称之为die,即未封装的芯片。

【扫盲帖】组合电路、时序电路在计算机课程中的地位

editor Chen /

这个题目是我临时想的,不知道是否准确,一直想写一个类似的东西,希望能够引起童鞋们关注硬件并喜欢上硬件。

我是文科出生,研究生阶段才转向计算机,中间有很长一段时间都只做软件理论相关研究和一些具体的软件项目,包括编译器、电力系统监控器、软件测试工具研发等;直到2009年,才开始陆陆续续接触一些硬件项目,说是硬件项目,其实主要是一些嵌入式的项目,如世界杯前做的3G转Wifi和自己玩的一些小车和传感器等。

在做嵌入式项目之前,压根就没接触过硬件方面的开发知识,难度可想而知,什么叫编码器、什么叫译码器、怎么做分频、怎么做倍频、怎么做A/D转换、D/A等等,一系列的问题迎面而来。为了完成项目,只能硬着头皮上,从最基础的数字逻辑开始看起,从二进制、卡诺图入手,逐渐深入到组合电路和时序电路,再结合一本叫做《计算机组成与设计-硬件/软件接口》,才逐渐深入明白我们做的编译器后端的具体工作原理,在此基础上对软件的各种性能问题有了更深刻的认识。

组合电路和时序电路是计算机原理的基础课,组合电路描述的是单一的函数功能,函数输出只与当前的函数输入相关;时序电路则引入了时间维度,时序电路在通电的情况下,能够保持状态,电路的输出不仅与当前的输入有关,而且与前一时刻的电路状态相关,如我们个人PC中的内存和CPU中的寄存器,均为时序电路。

一文看懂单片机与CPU的相似与不同

editor Chen /

什么是单片机,相信很多人都还不知道。也不知道单片机的作用是什么。单片机简称为单片微控制器(Microcontroler),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型的计算机,因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。Intel的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

大家都知道我们的电脑主要是由中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。安装在一个被称之为主板的印刷线路板上,就是我们个人的计算机了。

把单片机看成一个整体分成四块就很容易认识了。 把这些东西(CPU,硬盘,内存,主板等等)用集成块做好后,如下图所视:

工程师应烂熟于心的GPU与CPU的性能对比

editor Chen /

<p>CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断,还会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂,而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。</p>
<p><br />
</p>

CPU为何只用硅做,而不用能耗更低的锗?

editor Chen /

硅用来做CPU,是因为它的优点太多,而缺点都是可克服的。锗虽然也有优点(比如开启电压、载流子迁移率),但它的几个缺点是很难克服的。

CPU就是在一张硅片上,刻几百万个晶体二极管。

<center><img src="http://mouser.eetrend.com/files/2017-02/wen_zhang_/100004999-16072-1.jp…; alt=“” width="600"></center>

制成二极管,硅的开启电压(死区电压)需要0.5V,锗的开启电压只需0.1V。也就是锗CPU只需零点几的电压就能运行,比现在的1V低多了,也算CPU的革命吧。

电压更低,意味发热量更少,集成度和频率可以更高。

一文看懂单片机与CPU的相似与不同

editor Chen /

什么是单片机,相信很多人都还不知道。也不知道单片机的作用是什么。单片机简称为单片微控制器(Microcontroler),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型的计算机,因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。Intel的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

大家都知道我们的电脑主要是由中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。安装在一个被称之为主板的印刷线路板上,就是我们个人的计算机了。

  把单片机看成一个整体分成四块就很容易认识了。 把这些东西(CPU,硬盘,内存,主板等等)用集成块做好后,如下图所视:

如何构建自己的深度学习基础设施

editor Chen /

深度学习是一门经验科学,许多基础设施的质量也在倍增。幸运的是,现在的开源生态系统可以使任何人建立不错的深度学习基础设施。

在这篇文章中,我们将讲述深度学习研究通常如何进行,介绍可选的对应基础设施以及开源的kubernetes-ec2-autoscaler,用于Kubernetes的批次优化扩展管理。希望这篇文章对你构建自己的深度学习基础设施有所帮助。

<strong>用例</strong>
深度学习典型的进步是从一个想法开始的,你在一个小问题上进行测试。在这个阶段,你想要快速的进行许多临时实验。理想情况下,你可以通过SSH连上一台机器,然后运行脚本,并在一小时以内得到结果。
要使模型真正工作,通常需要预见所有可能出错的情况,并且设法解决这些限制。(这类似于构建新的软件系统,你多次运行代码来了解它的运行情况。)

<strong>视频</strong>
你需要从多个角度来考察你的模型,以了解它们的实际学习情况。上面这个来自于Dario Amodei的强化学习Agent(控制右边的球拍)取得了高比分,但当你看着它玩时,你会发现它只是呆在一个地方。因此,深度学习基础设施必须能够让用户灵活观察模型,仅仅给出汇总统计是不够的。

理论与现实的差异,多核心芯片软开发瓶颈何在?

editor Chen /

随着手机市场竞争的白热化,手机芯片设计商为了创造出差异性,发布了 8 核心以上的 CPU。让手机芯片的核心数量一举超越主流笔电的 2 或 4 核心。然而,我们是否真的需要如此多的核心?是什么原因让我们无法彻底地发挥 CPU 的真本事?

中央处理器,CPU(Central Processing Unit),做为电脑的大脑,掌管着电脑所有运行的程序。为了让程序可以运行的更快更稳,电脑架构师们不断的思考着该如何设计出更好的 CPU 架构,让使用者得以享受更加快速、便利的电脑。

为了设计出更为出色的 CPU,工程师便想借由不断提高 CPU 的时脉,让 CPU 得以在一秒内执行更多的指令。随着科技的发展,时脉的确如工程师所愿,逐步的提高。从 1990 年代开始,CPU 的时脉从 60MHz,一举提升到 2000 年的 2000MHz。进步幅度之大,令人赞叹。

<strong>发展遇到瓶颈,多核心的时代来临?</strong>

到了千禧年,时脉的进展,却不再如此顺利。当 CPU 时脉发展到 4GHz 左右时,工程师发现,CPU 每秒所制造出的热,已经突破一般家用散热器可以负担的量。为了解决工程上的瓶颈,工程师开始将目光放在多核心架构上。欲借由双核心的技术,突破单芯片效能的瓶颈。

CPU