深度学习硬件基础:TPU和其他芯片
文章目录
- 其他芯片
- DSP: 数字信号处理器
- FPGA:常用来做模拟
- AI ASIC:AI领域专用芯片
- Systolic Array:脉冲阵列
- 总结
- 参考
其他芯片
DSP: 数字信号处理器
DSP,Digital Signal Processor,也就是数字信号处理器。这是一种具有特殊结构的微处理器,是以数字信号来处理大量信息的微处理器。将模拟信号转换成数字信号,用于专用处理器的高速实时处理。
- 为数字信号处理算法设计:点积、卷及、FFT
- 低功率、高性能
- 比移动GPU快5x,功耗更低
- VLIW:Very long instruction word
- 一条指令计算上百次乘累加
- 编程和调试困难
- 编译器质量良莠不齐
FPGA:常用来做模拟
FPGA(Field-Programmable Gate Array),现场可编程逻辑门阵列,是一种在制造后可以被用户编程修改的电路。它不像我们在实验室中常见的电阻、三级管和电容器,只能完成固定的单一功能——FPGA可以通过硬件描述语言(Hardware Description Language,HDL)来进行编程,从而完成某种特定任务。VHDL(超高速集成电路硬件描述语言,VHSIC Hardware Description Language)是其中一种被广泛使用的HDL语言。另外一种是Verilog HDL,在工业界也很流行。
- 有大量可以编程的逻辑单元和可配置的连接
- 可以配置成计算复杂函数
- 编程语言:VHDL,Verilog
- 通常比通用硬件更加复杂
- 工具链质量良莠不齐
- 一次“编译”可能需要数个小时
AI ASIC:AI领域专用芯片
- 深度学习的热门领域
- 各大公司都在制造自己的芯片(Intel、Qualcomm、Google、Amazon、Facebook)
- Google TPU芯片是标志性芯片
- 能够匹配Nidia GPU新能
- 在Google大量部署
- 核心是systolic array
Systolic Array:脉冲阵列
- 计算单元(PE)阵列:可以是一维或二维,串行、阵列或树的结构(现在我们看到的更多的是阵列形式)
- PE功能相对简单,系统通过实现大量PE并行来提高运算的效率;
- PE只能向相邻的PE发送数据(在一些二维结构中,也可能有对角线方向的数据通道)
- 特别适合做矩阵乘法
- 设计和制造都相对简单
- 让数据在处理单元中多流动一会儿(在消耗较小的memory带宽的同时实现较高的运算吞吐率)
这是一个计算例子:
在这个例子中,X值广播到各个运算单元,W值预先存储在PE中并保持不动,而部分结果Y采用脉动的方式在PE阵列间向右传递(初始值为零)。不难看出,经过三个时刻,最右边的PE的输出就是X和W两个序列的卷积运算的第一个结果,这之后就会不断输出Y值。
(我理解的是值和参数一个向右,一个向下移动)
- 对于一般的矩阵乘法,可以切开和填充矩阵来匹配SA的大小
- 批量输入来降低延时
- 通常有其他硬件单元来处理别的NN操作子,例如激活层
总结
参考
[1] DSP
[2] FPGA:想要学的可以看看,知乎专栏,后期还有实验实现
[3] AI ASIC: CPU\GPU 以及上面所讲的其他芯片都有介绍
[4] systolic Array :原理不是很难,可以看看
深度学习硬件基础:TPU和其他芯片相关推荐
- 深度学习硬件基础:CPU与GPU
文章目录 CPU和GPU 1. CPU 1. 1 CPU定义--少量复杂运算 1.2 CPU组成 1.3 CPU执行流程: 2. GPU 2.1 GPU定义--大量简单运算 2.2 GPU组成 3. ...
- 深度学习的基础知识(机器学习、损失函数、梯度下降、反向传播、基础模型一网打尽)
1.预备信息 1.1了解技术的发展阶段 技术一般存在几个阶段:1.发展期.2.高峰期.3.冰河期.4.应用期 就是先达到一个高峰,但是在达到高峰之后就会被发现很多问题,然后热度就会不断地下降,到达一个 ...
- 英伟达RTX 2080/2080Ti发布及UltraLAB采用最新turing图灵架构深度学习硬件配置推荐
英伟达在今晚的发布会上正式公布了全新的RTX 2070.RTX 2080以及RTX 2080Ti显卡,Turing GPU基于台积电12nm+工艺,完整的TU102核心(Quadro RTX 8000 ...
- 深度学习硬件架构简述
深度学习具有极高的计算需求, 要对深度学习应用进行开发并商业化,就需要找到合适的硬件配置.目前,在开发用于深度学习应用的高效硬件平台这一领域,竞争十分激烈.这里将介绍具体的硬件要求,并讨论未来对深度学 ...
- 从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN)
从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN) 首先先声明一下 这篇是转载来自 : 从零开始搭建深度学习服务器: 基础环境配置( ...
- 【动手学深度学习PyTorch版】23 深度学习硬件CPU 和 GPU
上一篇请移步[动手学深度学习PyTorch版]22续 ResNet为什么能训练出1000层的模型_水w的博客-CSDN博客 目录 一.深度学习硬件CPU 和 GPU 1.1 深度学习硬件 ◼ 计算机构 ...
- 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)
<繁凡的深度学习笔记>前言.目录大纲 (DL笔记整理系列) 一文弄懂深度学习所有基础 ! 3043331995@qq.com https://fanfansann.blog.csdn.ne ...
- 零基础学习深度学习_深度学习的基础!!!
零基础学习深度学习 The ability to learn from experience and perform better when confronted with similar chall ...
- 深度学习 机器学习基础_实用的机器学习基础
深度学习 机器学习基础 This article describes my attempt at the Titanic Machine Learning competition on Kaggle. ...
- 【深度学习入门基础】一、从线性代数和微积分的角度看神经网络
[深度学习入门基础]从线性代数和微积分的角度看神经网络 这是深度学习入门系列文章,我们企图用最简洁的语言.最干净的表达,让读者快速获取到他所想要的.本系列文章持续更新.一些网上能查到的基础知识,诸如激 ...
最新文章
- 利用PCA进行数据降维
- 计算机相关概念总结(3)
- IAR无法goto的解决办法
- Quartz集群部署
- 数据结构与算法 | 用队列实现栈
- opencv python安装linux_Ubuntu16.04、Python3.6下安装opencv4遇到的问题
- 1.2鼠标移入移出改变背景色和其他大小样式
- yum安装ruby_centos 6.5 ruby环境安装
- windows桌面远程工具连接Ubuntu
- controller层要写什么_别再写满屏的try-catch了,真丑,全局异常处理不会吗?
- ASP.NET MVC 重点教程一周年版 第七回 UrlHelper
- 腾讯云,云点播,视频合成
- 5000字:一文看懂用户运营之增长八卦模型
- android 4.4.4最新微信,微信旧版本安卓4.4.4可用
- HDMI2.1定义以及物理转换Bypass芯片详解
- 【C# 教程系列第 11 篇】什么是抽象类、抽象方法
- 抗震支架的支撑形式与设置原则
- jQuery实现弹幕效果(鼠标单击和键盘回车键)
- 苏菲兔子和魔法师小麦
- 织梦程序搬家后提示没有此用户名