首页 > 其他 > 详细

TPU 深入学习1

时间:2021-01-24 01:15:16      阅读:28      评论:0      收藏:0      [点我收藏+]

参考链接

https://cloud.google.com/blog/products/ai-machine-learning/what-makes-tpus-fine-tuned-for-deep-learning

CPU、GPU、TPU区别

CPU

CPU的最大好处是它的灵活性。凭借其冯·诺依曼架构,可以为数百万个不同的应用程序加载任何类型的软件。但是,由于CPU如此灵活,因此硬件在从软件读取下一条指令之前,并不总是知道下一步的计算。对于每次计算, CPU必须将计算结果存储在CPU内部的内存中(所谓的寄存器或L1高速缓存)。这种内存访问成为了称为von Neumann瓶颈的CPU体系结构的缺点。尽管庞大的神经网络计算意味着这些未来的步骤是完全可以预测的,但是每个CPU的算术逻辑单元(ALU,用于保存和控制乘法器和加法器的组件)都会一次执行它们,每次访问内存,从而限制了运算量。总吞吐量消耗大量能源。

GPU

为了获得比CPU更高的吞吐量,GPU使用一种简单的策略:处理器中包含数千个ALU.这种GPU架构在具有大规模并行性的应用程序(例如神经网络中的矩阵乘法)上运行良好。但是,GPU仍然是通用处理器,必须支持数百万种不同的应用程序和软件。这回到了我们的基本问题,即冯·诺依曼瓶颈. 对于数千个ALU中的每个计算,GPU需要访问寄存器或共享内存以读取和存储中间计算结果.由于GPU在其数千个ALU上执行更多的并行计算,因此它也成比例地花费更多的精力访问内存,并且还增加了GPU用于复杂接线的占用空间。

TPU

Google设计TPU时,建立了特定于域的架构。这意味着,与其设计通用处理器,不如将其设计为专门用于神经网络工作负载的矩阵处理器。TPU不能运行文字处理器,但是它们可以以超快的速度处理神经网络的大量乘法和加法,同时消耗更少的功率并且占用的空间更小。关键因素是大幅减少了冯·诺依曼瓶颈。因为此处理器的主要任务是矩阵处理,所以TPU的硬件设计人员知道执行该操作的每个计算步骤。因此,他们能够放置数千个乘法器和加法器,并将它们直接彼此连接,以形成这些运算符的大型物理矩阵。这称为脉动阵列架构。对于Cloud TPU v2,有两个128 x 128的脉动阵列,在单个处理器中为16位浮点值聚合32,768个ALU。
脉动阵列如何执行神经网络计算。
1、TPU将参数从内存加载到乘法器和加法器矩阵中。
2、TPU从内存加载数据。在执行每个乘法时,结果将被传递到下一个乘法器,同时求和。因此,输出将是数据和参数之间所有乘法结果的总和。在海量计算和数据传递的整个过程中,根本不需要内存访问
这就是为什么TPU可以在神经网络计算上以低得多的功耗和较小的占用空间实现高计算吞吐量的原因。

TPU 深入学习1

原文:https://www.cnblogs.com/kyshan/p/14318878.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!