谷歌TPU(Tensor Processing Unit)

谷歌TPU(Tensor Processing Unit)
https://cloud.google.com/tpu/docs/intro-to-tpu?hl=zh-cn
CPU的工作模式和GPU工作模式的区别

CPU 最大的优点是它们的灵活性。您可以在 CPU 上为许多不同类型的应用加载任何类型的软件。对于每次计算,CPU 从内存加载值,对值执行计算,然后将结果存储回内存中。与计算速度相比,内存访问速度较慢,并可能会限制 CPU 的总吞吐量。这通常称为冯·诺依曼瓶颈。

现代 GPU 通常包含 2500 - 5000 个 ALU。大量处理器意味着可以同时执行数千次乘法和加法运算。不过,GPU 仍然是一种通用处理器,必须支持许多不同应用和软件。因此,GPU 与 CPU 存在相同的问题。对于数千个 ALU 中的每一次计算,GPU 都必须访问寄存器或共享内存,以读取运算对象以及存储中间计算结果。
TPU是用于神经网络工作负载的矩阵处理的专用集成电路(ASIC),TPU 的主要任务是矩阵处理,这是乘法和累加运算的组合。TPU 包含数千个乘法累加器,这些累加器彼此直接连接以形成大型物理矩阵。这称为脉动阵列架构(和9个存内核心的架构一样)。在单个处理器上,Cloud TPU v3 包含两个 128 x 128 ALU 的收缩阵列。
工作流如下:
TPU 主机将数据流式传输到馈入队列中。TPU 从馈入队列加载数据,并将其存储在 HBM 内存中。计算完成后,TPU 会将结果加载到馈出队列中。然后,TPU 主机从馈出队列读取结果并将其存储在主机的内存中。
为了执行矩阵操作,TPU 将参数从 HBM 内存加载到矩阵乘法单元 (MXU) 中。

然后,TPU 从内存加载数据。每次执行乘法运算时,所得结果都会传递给下一个乘法累加器。输出是数据和参数之间所有乘法结果的总和。在矩阵乘法过程中,不需要访问内存。因此,TPU 可以在神经网络计算中实现高计算吞吐量。

XLA 编译器
在 TPU 上运行的代码必须由加速线性代数 (XLA) 编译器编译。XLA 是一种即时编译器,可利用机器学习框架应用发出的图,并将图的线性代数、损失和梯度分量编译成 TPU 机器代码。程序的其余部分在 TPU 宿主机上运行。XLA 编译器是 TPU 运行时的一部分,运行时在 TPU 宿主机上运行。

TPU适合下面内容:
• 由矩阵计算主导的模型
• 在主训练循环内没有自定义 TensorFlow/PyTorch/JAX 操作的模型
• 需要训练数周或数月的模型
• 有效批量大小较大的大型模型
Cloud TPU 不适合以下工作负载:
• 需要频繁分支或包含许多元素级代数运算的线性代数程序
• 以稀疏方式访问内存的工作负载
• 需要高精度算法的工作负载
• 主训练循环中包含自定义操作的神经网络工作负载
综上,由非矩阵运算(如 add、reshape 或 concatenate)主导计算的程序可能无法实现较高的 MXU(矩阵乘法单元) 利用率。

Edge TPU
Google 设计了 Edge TPU 协处理器来加速低功耗设备上的机器学习推断。一个 Edge TPU 每秒可执行 4 万亿次操作(4 TOPS),能耗仅 2 瓦特,换句话说,每瓦特可获得 2 TOPS。例如,Edge TPU 能够以低能耗的方式以接近每秒 400 帧的速率执行先进的移动视觉模型,例如 MobileNet V2。

https://zh.wikipedia.org/wiki/%E5%BC%A0%E9%87%8F%E5%A4%84%E7%90%86%E5%8D%95%E5%85%83

系统机构术语
https://cloud.google.com/tpu/docs/system-architecture-tpu-vm?hl=zh-cn
TPU 芯片
TPU 芯片包含一个或多个 TensorCore。TensorCore 的数量取决于 TPU 芯片的版本。每个 TensorCore 由一个或多个矩阵乘法单元 (MXU)、一个矢量单元和一个标量单元组成。
MXU 由脉动阵列中的 128 x 128 乘法累加器组成。 MXU 在 TensorCore 中提供大部分计算能力。每个 MXU 能够在每个周期执行 16K 乘法累加操作。所有乘法均接受 bfloat16 输入,但所有累加均以 FP32 数字格式执行。
该矢量单位用于一般计算,例如激活和 softmax。标量单位用于控制流、计算内存地址和其他维护操作。

TPU 立方体
4x4x4 拓扑。这仅适用于 3D 拓扑(从 v4 TPU 版本开始)。

TensorCores
TPU 芯片具有一个或两个 TensorCore,用于运行矩阵乘法。

TPU Pod
TPU Pod 是通过专用网络分组的一组连续的 TPU。TPU Pod 中的 TPU 芯片的数量取决于 TPU 版本。

切片
Pod 切片是位于同一 TPU Pod 内的一系列芯片,这些芯片由高速芯片间互连 (ICI) 连接。切片根据芯片或 TensorCore 进行描述,具体取决于 TPU 版本。条状标签形状和条状标签拓扑也是指切片形状。

多切片与单切片
多切片是一组切片,将 TPU 连接扩展到芯片间互连 (ICI) 连接之外,并利用数据中心网络 (DCN) 在切片之外传输数据。每个切片中的数据仍然由 ICI 传输。利用这种混合连接,Multislice 可实现多个切片的并行性,并且允许您为单个作业使用的 TPU 核心数量超出单个切片能够容纳的 TPU 核心数量。
TPU 可用于在单个切片或多个切片上运行作业。

2023.4.4,由 Norman Jouppi、大卫・帕特森等人发表的论文《 TPU v4: An Optically Reconfigurable Supercomputer for Machine Learning with Hardware Support for Embeddings 》详细介绍了自研的光通信器件是如何将 4000 多块芯片并联成为超级计算机,以提升整体效率的。
TPU v4 的性能比 TPU v3 高 2.1 倍,性能功耗比提高 2.7 倍。基于 TPU v4 的超级计算机拥有 4096 块芯片,整体速度提高了约 10 倍。对于类似大小的系统,谷歌能做到比 Graphcore IPU Bow 快 4.3-4.5 倍,比 Nvidia A100 快 1.2-1.7 倍,功耗低 1.3-1.9 倍。
https://finance.sina.cn/2023-04-05/detail-imypimne9357334.d.html

https://cloud.google.com/tpu/docs/v4?hl=zh-cn

2024.4.10,谷歌云TPU v5p上市,这是我们迄今为止最强大、可扩展的 TPU。 TPU v5p 是下一代加速器,专门用于训练一些最大、要求最高的生成式 AI 模型。单个 TPU v5p Pod 包含 8960 个协同运行的芯片,是 TPU v4 Pod 中芯片数量的 2 倍多。除了规模更大之外,TPU v5p 还可以在每个芯片上提供超过 2 倍的 FLOPS 和 3 倍的高带宽内存。当客户使用更大的切片时,它还可以实现吞吐量的近线性改进,在切片大小增加 12 倍(从 512 个芯片到 6144 个芯片)的情况下实现 11.97 倍的吞吐量。
https://cloud.google.com/blog/products/compute/whats-new-with-google-clouds-ai-hypercomputer-architecture

https://cloud.google.com/tpu/docs/v5p?hl=zh-cn
v5p 版本的系统架构。每个 TensorCore 均有四个矩阵乘法单位 (MXU)、一个矢量单位和一个标量单位。单个 v5p Pod 中有 8960 个芯片。可以安排的最大作业是 96 个立方体(6144 个芯片)作业。v5p 的最大形状为 16x16x24(6144 个芯片、96 个立方体)。

https://cloud.google.com/tpu/pricing?hl=zh-cn#estimate-cost
v4 TPU 中有两个 TensorCore,所以租一个v4芯片有两个TensorCore可以调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/577407.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

表情识别 | 卷积神经网络(CNN)人脸表情识别(Matlab)

表情识别 | 卷积神经网络(CNN)人脸表情识别(Matlab) 目录 表情识别 | 卷积神经网络(CNN)人脸表情识别(Matlab)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab使用卷积神经网络(CNN),进行人脸表情情绪识别…

论文解读:(CAVPT)Dual Modality Prompt Tuning for Vision-Language Pre-Trained Model

v1文章名字:Dual Modality Prompt Tuning for Vision-Language Pre-Trained Model v2文章名字:Class-Aware Visual Prompt Tuning for Vision-Language Pre-Trained Model 文章汇总 对该文的改进:论文解读:(VPT)Visual Prompt …

STM32H7 HSE时钟的使用方法介绍

目录 概述 1 STM32H750 HSE时钟介绍 2 使用STM32Cube创建Project 3 认识HSE时钟 3.1 HSE时钟的特性 3.2 HSE的典型应用电路 4 STM32Cube中配置时钟 4.1 时钟需求 4.2 配置参数 4.2.1 使能外围资源 4.2.2 使用STM32Cube注意项 4.2.3 配置参数 5 总结 概述 本文主要…

ESP-IDF编译系统详解(1)

接前一篇文章:VSCode ESP-IDF安装与配置全过程 本文内容主要参考: 《ESP32-C3物联网工程开发实战》 —— 乐鑫科技 编著 特此致谢! 前文已经详述了ESP-IDF开发环境的搭建,包括ESP-IDF的下载与安装完整流程,以及VSCo…

【Docker】Docker 实践(一):在 Docker 中部署第一个应用

Docker 实践(一):在 Docker 中部署第一个应用 1.使用 YUM 方式安装 Docker2.验证 Docker 环境3.在 Docker 中部署第一个应用3.1 小插曲:docker pull 报 missing signature key 错误3.2 重新安装 Nginx 1.使用 YUM 方式安装 Docker…

MySQL中脏读与幻读

一般对于我们的业务系统去访问数据库而言,它往往是多个线程并发执行多个事务的,对于数据库而言,它会有多个事务同时执行,可能这多个事务还会同时更新和查询同一条数据,所以这里会有一些问题需要数据库来解决 我们来看…

IoT Scenario: Smart Retail System-Multiple Sources and Multiple Terminals

物联网/大数据可视化领域发文可以联系:nascimsina.com IoT Scenario: Smart Retail System Overview The use of IoT in the retail industry enhances customer experiences, optimizes inventory management, and provides valuable insights into consumer beh…

【HarmonyOS】Stage 模型 - 基本概念

一、项目结构 如图1所示: 图1 从项目结构来看,这个应用的内部包含了一个子模块叫 entry,模块是应用的基本功能单元,它里面包含源代码、资源、配置文件等。 像这样的模块在应用内部可以创建很多。但模块整体来讲就分成两大类&am…

js 实现记住密码功能

这是我弄得一点源码 使用 js 记住密码 选了半天最后 选择了 js.cookie.min.js 实现的 当然 也加了一点 加密手段 用的 crypto-js 这个 自己封装了一下 感觉还行 以后能重复用的 二话不说 先放资源 : 这么多资源 不得给个赞 关注一下的 当然 最简单的就是…

拖拽式工作流开发有什么突出优势?

想要实现高效率的办公方式,可以试着了解低代码技术平台及拖拽式工作流开发的优势特点。具有好操作、好维护、够灵活、可视化界面操作等优势特点的低代码技术平台可以助力企业实现流程化办公,在发展越来越快速的今天,拖拽式工作流开发得到了很…

陪丨玩丨系丨统前后端开发流程,APP小程序H5前后端源码交付支持二开!多人语音,开黑,线上线下两套操作可在一个系统完成!

100%全部源码出售 官网源码APP源码 管理系统源码 终身免费售后 产品免费更新 产品更新频率高 让您时刻立足于行业前沿 软件开发流程步骤及其作用: 软件开发是一个复杂而系统的过程,涉及多个环节,以下是软件开发的主要流程步骤及其作用…

小程序使用阿里巴巴矢量图标库

一、登录官网 www.iconfont.cn 二、在搜索框中搜索想要的图标,将鼠标移动到图标上会看到三个标记 可以使用下载,直接使用: 可以使用css文件使用: 首先点击购物车样式的选项,而后点击下图位置: 点击自己创…

怎么排查K8S容器当中的Java程序内存泄露问题

今天早上发现生产线其中的一个服务在凌晨的时候突然重启了,内存突然从1G升到1.8G,CPU使用量从0.1升到了0.28,说明在这个时间点,内存突增达到了限额以上,服务重启了。因为这个服务布署了多节点,这次重启对业…

实验7:路由冗余协议HSRP配置管理(课内实验以及解答)

实验目的及要求: 理解首跳冗余协议(FHRP)的工作原理,掌握热备份路由器协议 (HSRP)(思科私有协议)原理和配置。能够实现网络终端设备虚拟网关的配置和网络故障的灵活切换,完成相应网络的联通性测…

ubuntu samba 安装与配置

ubuntu samba 安装与配置 一:安装二:添加samba访问账号及密码三:修改配置文件四:重启服务五:登录 一:安装 sudo apt update sudo apt install samba samba-common二:添加samba访问账号及密码 …

链表与模拟LinkedList的实现

1. ArrayList的缺陷 ArrayList底层使用数组来存储元素 由于其底层是一段连续空间,当在ArrayList任意位置插入或者删除元素时,就需要将后序元素整体往前或者往后 搬移,时间复杂度为O(n),效率比较低。因此ArrayList不适合做任意位…

Restful API 具体设计规范(概述)

协议 https 域名 https://www.baidu.com/api 版本 https://www.baidu.com/v1 路径 https://www.baidu.com/v1/blogs 方法 数据过滤 状态码返回结果 返回的数据格式 尽量使用 JSON,避免使用 XML。 总结: 看 url 就知道要什么看 http method 就知道干…

【面试经典 150 | 二叉树】二叉搜索树迭代器

文章目录 写在前面Tag题目来源解题思路方法一:中序遍历到数组方法二:迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本…

记录wordpress网站搭建及当天被SEO优化收录

网站是前不就前搭建的,但是一直没有做SEO优化,今天花了点时间做下优化。记录下,喜欢的朋友点赞收藏下。 1.wordpress后台下载插件Yoast SEO插件,setting中搜索XML sitemaps,点view the XML sitemap,暂时不…

【Ant-Desgin 头像上传框】限制数量为1张图片,base64,其他需求可以改我组件中的代码

Ant-Desgin 头像上传框 样式图参数主要代码UpLoad 组件父组件 样式图 图片数量限制为1,当选择了图片后,需要切换图像时需点击头像完成切换 参数 /*** description: 图片上传组件* param {*} action: 上传地址* param {*} width: 宽度* param {*} height…
最新文章