深度学习——CPU,GPU,TPU等硬件说明(笔记)

news2024/11/27 14:31:20

目录

深度学习硬件:CPU和GPU

深度学习硬件:TPU


深度学习硬件:CPU和GPU

1.提升CPU的利用率Ⅰ:提升空间和时间的内存本地性

①在计算a+b之前,需要准备数据

    主内存->L3->L2->L1->寄存器

L1:访问延时 0.5ns

L2:访问延时 7 ns(14 * L1)

主内存访问延时: 100ns(200 * L1),内存访问太慢

② 提升空间时间的内存本地性

时间:重用数据使得保持他们在缓存里(寄存器)

空间:按序读写数据使得可以预读取(数据相邻)

【例】

如果一个矩阵是按行存储的,访问一比访问一列要快(按行的地址是连续的,读取快)

            CPU一次读取64字节(缓存线)

            CPU会“聪明的”提前读取下一个(缓存线)

 

2.提升CPU利用率 Ⅱ,尽量使用多核并行计算

①高端CPU有几十个核

并行来利用所有

超线程不一定提升性能,因为它们共享寄存器

3.提升GPU利用率

并行,使用数千个线程

②内存本地性,缓存更小,架构更简单(GPU为了节省面积将缓存做得比较,这样做的好处是内存的带宽更高一点)

控制语句,支持有限,同步开销大。

4.GPUCPU对比  一般/高端

GPU核数量远于CPU,导致GPU每秒计算高CPU

②每一次计算需要从内存读取数据,所以内存带宽很重要达不到计算峰值是内存带宽的限制

核心数量内存带宽使GPU比CPU运算快,但GPU内存小,控制流弱。CPU通用计算,控制流强。

4.CPU和GPU之间的带宽不是很高,多个GPU还要共享带宽,所以不要频繁CPU和GPU之间传数据:带宽限制,同步开销。

总结:

CPU:可以处理通用计算。性能优化考虑数据的读写效率多线程

GPU:使用更的小和更好的内存带宽,适合能大规模并行的计算任务

深度学习硬件:TPU

1.DSP:数字信号处理

①为数字信号处理算法设计:点积,卷积,FFT

②低功耗,高性能

③一条指令计算上百次乘累加

缺点:编程和调试困难,编译器良莠不齐

2.可编程陈列(FPGA

①有大量的可以编程逻辑单元和可配置的连接

②可以配置成计算复杂函数

③通常比通用硬件更高效

缺点:工具链质量良莠不齐,一次编译需要数小时

3.Google TPU芯片

①跟英伟达GPU性能媲美

②Google内部部署,核心是systolic array

4.systolic array

①计算单元(PE)阵列

②适合做矩阵乘法

③设计和制造相对简单

 

【总结】

 

单机多卡并行

1.

①一台机器可以装多个GPU(1-16)

②在训练和预测时,将一个小批量计算切分多个GPU上来加速

③常用的切分方案:数据并行,模型并行,通道并行(数据+模型并行)

2.数据并行VS模型并行

①数据并行:将小批量分成n块,每个GPU拿到完整参数计算一块数据的梯度

   通常性能更好

 步骤:Ⅰ读一个数据块 Ⅱ拿回参数 Ⅲ计算梯度 Ⅳ发出梯度

②模型并行:将模型分成n块,每个GPU拿到一块模型计算它的前向和反向的结果

    通常用于模型大到单GPU放不下

【总结】

①当一个模型能用单卡计算时,通常使用数据并行扩展到多卡

模型并行用到大模型

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode每日一题:1697. 检查边长度限制的路径是否存在~~~并查集+数组排序+排序记录下标位置】

题目描述 给你一个 n 个点组成的无向图边集 edgeList ,其中 edgeList[i] [ui, vi, disi] 表示点 ui 和点 vi 之间有一条长度为 disi 的边。请注意,两个点之间可能有 超过一条边 。 给你一个查询数组queries ,其中 queries[j] [pj, qj, li…

抖音商家引流的正确方法,抖音商家引流脚本实操教程。

大家好我是你们的小编一辞脚本,今天给大家分享新的知识,很开心可以在CSDN平台分享知识给大家,很多伙伴看不到代码我先录制一下视频 在给大家做代码,给大家分享一下抖音商家引流脚本的知识和视频演示 不懂的小伙伴可以认真看一下&#xff0c…

【lssvm回归预测】基于遗传算法优化最小二乘支持向量机GA-lssvm实现数据回归预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

图书商城小程序开发,实现图书便捷式选购

1995年联合国教文组织将4月23日规定为世界读书日,由此可见对全世界人民来说读书都是一件很重要的事。并且据调查数据显示,去年我国成年国民图书阅读量达到了59.7%,同比增长了0.2个百分点;人均纸质图书阅读量为4.76,较上…

记一次线上问题 → 对 MySQL 的 ON UPDATE CURRENT_TIMESTAMP 的片面认知

问题背景 需求背景 需求:对商品的上架与下架进行管控,下架的商品不能进行销售 上架与下架的管控,在我负责的项目(单据系统)中实现;销售的控制则是在另外一个项目(POS系统)中实现的…

人工智能课后作业_python实现广度优先遍历搜索(BFS)(附源码)

2 广度优先遍历搜索(BFS) 2.1算法介绍2.2实验代码2.3实验结果2.4实验总结 2.1算法介绍 广度优先搜索算法(英语:Breadth-First-Search,缩写为BFS),是一种图形搜索算法。简单的说,BFS是从根节点开始&#…

MATLAB动态导入文件功能(txt文件读入)

目录 一、界面搭建 1.axes坐标轴 2.LIST表 3.button按钮 二、属性 三、代码实现 一、界面搭建 1.axes坐标轴 需要有一个可以显示点的axes,以及一个展示点坐标XYZ的LIST表控件 2.LIST表 LIST需要添加表头,XYZ,行1,2,3,4,.. 右键列表…

降本增效: 蚂蚁在 Sidecarless 的探索和实践

文|王发康 (花名:毅松 ) 蚂蚁集团技术专家、MOSN 项目核心开发者 深耕于高性能网络服务器研发,目前专注于云原生 ServiceMesh、Nginx、MOSN、Envoy、Istio 等相关领域。 本文 5574 字 阅读 14 分钟 前言 从单体到分…

三、数据链路层(二)封装成帧和透明传输

目录 2.1字符计数法 2.2字符填充的首尾定界符法 2.3零比特填充的首尾标志法 2.4违规编码法 组帧就是一段数据的前后分别添加首部和尾部,确定帧的界限。 组帧的目的是解决帧定界、帧同步(接收方应能从接收到的二进制比特流中区分出帧的起始和终止&am…

java计算机毕业设计ssm智能交通信息管理平台6w258(附源码、数据库)

java计算机毕业设计ssm智能交通信息管理平台6w258(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#…

气象数据相关分析及使用系列:基于CALMET诊断模型的高时空分辨率精细化风场模拟

【查看原文】气象数据相关分析及使用系列:基于CALMET诊断模型的高时空分辨率精细化风场模拟技术应用​​​​​​ 在研究流场时,常用观测、模型风洞测试和数值模拟方法进行研究。但时常遇到研究区气象站点分布稀疏,不能代表周边复杂地形的风场…

PHP session相关知识详解

今天继续给大家介绍渗透测试相关知识,本文主要内容是PHP session相关知识详解。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未…

JavaScript 版文章自动创建目录导航菜单控件源代码,用来生成文章导航,可生成独立的侧边栏导航菜单

特点 支持 UMD 规范;拥有 AnchorJS 基础功能;支持中文和英文标题文字生成ID;支持生成独立的侧边栏导航菜单;支持直接在文章中生成文章导读导航;自动分析标题关系,生成段落层级索引值;可以作为 …

试着开发一个Pagination组件

1 组件需求和模块设计 我们要实现的分页组件大致效果如下: 组件需求 点击左右分页按钮可以跳转到上一页/下一页;点击中间的页码按钮可以跳转到相应的页码;首页尾页需要始终显示出来(如果只有1页则不显示尾页)&#x…

数字孪生助力油气管道行业实现资产管理

随着数字孪生技术的发展日臻成熟,各个行业领域都在经历一场翻天覆地的变化。结合国内的油气管网系统建设现状,数字孪生技术对油气管道行业数智化建设必将有重大而深远的意义。 数字孪生助力油气管道行业实现资产管理 北京智汇云舟科技有限公司成立于201…

【发表案例】2/3区计算机视觉类SCI,3个月19天录用

2/3区计算机视觉类SCI 【期刊简介】IF:2.5-3.0,JCR2/3区,中科院4区 【检索情况】SCI 在检,正刊 【征稿领域】面向智能交通应用的物联网驱动计算机视觉技术 录用案例:3个月19天录用 2022.12.05 | Accepted 2022.11.17 | Edit…

全新的 React 组件设计理念 Headless UI

其实,最早接触 Headless UI 是在去年,碰巧看到了一个非常前沿且优秀的组件库 ---- Chakra UI,这个组件库本身就是 Headless UI 的实践者,同时也是 CSS-IN-JS 的集大成者。 我当时看过之后,就对该理念产生了很大的兴趣…

(2022最新)Xray、Rad两款工具的使用与联动

1、Xray的简介 xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有: 1、检测速度快。发包速度快; 漏洞检测算法效率高。 2、支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC&am…

ClickHouse Senior Course Ⅵ

序言 这里单独说明下分布式表引擎,不用分布式表引擎,感觉ClickHouse就没必要使用了cuiyaonan2000163.com 参考网址: 分布式引擎 | ClickHouse Docs 分布式表引擎的位置: 分布式引擎 分布式引擎本身不存储数据, 但可以在多个服务器上进行分布式查询。 读是自动并行的。读取…

内核动力之源——内存管理

目录 内存管理背后的故事 内存管理概述 常见内存分配策略 LwIP的宏配置及内存管理 见招拆招——动态内存堆 数据结构描述 函数实现 ​以不变应万变——动态内存池 数据结构描述 函数实现 使用C库管理内存策略 无论在哪种系统中,动态内存都是一个非常重要的…