简述cpu/gpu/tpu的区别和工作原理

在深度学习的训练中,我们经常会考虑到效率问题,那么通常所说的cpu/gpu/tpu为什么会有着逐级加速的功能呢,本文进行简单介绍。

机器之心pro有篇文章,介绍的很详细,参考链接:https://baijiahao.baidu.com/s?id=1610560990129941099&wfr=spider&for=pc ,本文对其进行概述。

0.神经网络计算的本质

以fc层举例,神经网络参数的计算主要包括两类:乘法和加法。那么cpu/gpu/tpu对这两类操作有着怎样的机智呢?

1.CPU 如何运行

cpu:中羊处理器,最大的优势是灵活性,支持几百万种不同的应用和软件。通过指令进行运算,每一个 CPU 的算术逻辑单元(ALU,控制乘法器和加法器的组件)都只能一个接一个地执行它们,CPU 必须在内部将每次计算的结果保存到内存中(也被称为寄存器或 L1 缓存),每一次都需要访问内存,限制了总体吞吐量,并需要大量的能耗。

2.GPU如何运行

gpu:图形处理器,为了获得比 CPU 更高的吞吐量,GPU 使用一种简单的策略:在单个处理器中使用成千上万个 ALU。现代 GPU 通常在单个处理器中拥有 2500-5000 个 ALU,意味着你可以同时执行数千次乘法和加法运算。但是,GPU 仍然是一种通用的处理器,必须支持几百万种不同的应用和软件。这又把我们带回到了基础的问题,冯诺依曼瓶颈。在每次几千个 ALU 的计算中,GPU 都需要访问寄存器或共享内存来读取和保存中间计算结果。因为 GPU 在其 ALU 上执行更多的并行计算,它也会成比例地耗费更多的能量来访问内存,同时也因为复杂的线路而增加 GPU 的物理空间占用。

3.TPU如何运行

tpu:张量处理器,专用于神经网络工作负载的矩阵处理器,无法支持其他领域的应用,所谓是专款专用。TPU 的速度非常快、能耗非常小且物理空间占用也更小。tpu放置了成千上万的乘法器和加法器并将它们直接连接起来,以构建那些运算符的物理矩阵。这被称作脉动阵列(Systolic Array)架构。tpu从内存加载数据。当每个乘法被执行后,其结果将被传递到下一个乘法器,同时执行加法。因此结果将是所有数据和参数乘积的和。在大量计算和数据传递的整个过程中,不需要执行任何的内存访问。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值