首页 > 其他分享 >limu|P31-34|CPU和GPU

limu|P31-34|CPU和GPU

时间:2024-08-26 19:47:55浏览次数:5  
标签:模型 并行 34 内存 本地性 GPU P31 CPU

目录

CPU VS GPU

首先,一个芯片的空间是有限的,给了很多空间给某个内容(能力强),其他内容的空间就会被压缩(能力弱)

CPU擅长的是内存大小&控制流(处理通用计算),大量空间给了内存和逻辑控制单元
GPU擅长的是内存带宽&核——>从内存里读数据快&计算浮点数快(处理矩阵乘法)

提升CPU利用率

1、提升空间和时间的内存本地性

时间:把需要重用的数据保持在缓存里(因为在进行计算前,需要把数据按照主内存——L3——L2——L1——寄存器的顺序进行读取,每步都会有访问延时
空间:按序读写数据使得可以预读取

2、并行以利用所有核

超线程不一定提升性能,因为他们共享寄存器(比如1核2线程)

提升GPU利用率

1、并行

使用数千个线程,比如考虑到GPU的核数都是上千的,一千维的向量才能充分利用GPU

2、内存本地性

3、少用控制语句

比如ifelse,因为GPU控制流弱

4、不要频繁在CPU和GPU之间传数据

带宽限制、同步开销大

单机多卡并行

一台机器上可装多个GPU,训练和预测时,将一个小批量的计算切分至多个GPU,以加速。常用的切分方案:
1、数据并行:把小批量分为n块,每个GPU都拿到完整的参数,去计算一小块数据的梯度。通常可提升性能
2、模型并行:把模型分为n块,每个GPU拿到一小块模型,去计算一小块模型的前向&反向结果(Bug在于有顺序性,GPU利用率不佳)。用于超大模型,一个GPU放不下的那种(模型+参数保存的大小)
3、通道并行=数据+模型并行

分布式计算

多台机器,每台多个GPU。数据放在分布式文件系统上,每个机器都可以接触到

标签:模型,并行,34,内存,本地性,GPU,P31,CPU
From: https://www.cnblogs.com/xjl-ultrasound/p/18372496

相关文章

  • 《黑神话:悟空》提示d3dx9_34.dll丢失怎么办 d3dx9_34.dll丢失修复方案大全
    d3dx9_34.dll是一个与DirectX9相关的动态链接库(DLL)文件,通常与使用DirectX9的游戏或应用程序的功能实现有关。这个DLL文件包含了一些DirectX9图形功能的辅助函数,对于确保游戏或应用程序的正常运行非常重要。当d3dx9_34.dll文件丢失时,可能会导致以下问题:游戏或应用程序可......
  • A2034热门电影视频网站模版源码 仿爱美剧网站模板源码 自适应手机端 内含 视频 资讯
    A2034热门电影视频网站模版源码 仿爱美剧网站模板源码 自适应手机端 内含 视频 资讯 留言热门电影视频网站模版源码-A2034源码介绍A2034是一款仿爱美剧网站模板的热门电影视频网站模版源码。该模版设计精美,功能齐全,支持自适应手机端浏览,为用户提供优质的视频观看体......
  • 代码训练营 Day11 | 150. 逆波兰表达式求值 | 239. 滑动窗口最大值 | 347.前 K 个高频
    150.逆波兰表达式求值逆波兰表达式(后缀表达式)(1+2)x(3+4)的后续表达顺序是:左右中 后缀表达式:12+34+x使用栈思路1.遇见数字就放入栈,遇见操作运算符,取出栈里的数字进行运算2.每次取元素的时候只取两个元素3.结果就是栈最后的元素classSolution(object):d......
  • 代码训练营 Day8 | 344.反转字符串 | 541.反转字符串II |
    344.反转字符串使用双指针一个指针指向数组开始的位置,一个指针指向数组结束的位置通过循环让两个指针元素相互交换知道两个指针碰到一起classSolution(object):defreverseString(self,s):""":types:List[str]:rtype:NoneDonotretur......
  • 【RH134知识点问答题】第13章 运行容器
    目录1.相比较虚拟机,容器有哪些技术优势?2.容器镜像是什么?3.RHEL提供了哪些容器工具?4.根容器和无根容器有什么区别?5.请谈一下容器镜像(image)和仓库/注册表(registry)的关系。6.请写出以shell交互方式运行容器的命令。7.请说明如何配置容器仓库。8.如何检查......
  • 题解:SP3109 STRLCP - Longest Common Prefix
    三倍经验:UVA11996JewelMagicP4036[JSOI2008]火星人题意维护一个字符串\(S\),支持以下操作:\(Q\i\j\):输出\(\operatorname{LCP}(S[i\dotsl],S[j\dotsl])\)\(R\i\char\):用\(char\)替换\(S\)的第\(i\)个字符\(I\i\char\):在\(S\)的第\(i\)......
  • 芯片、GPU、CPU、显卡、显存、x86、ARM、AMD等基础知识
    1.芯片芯片指的是半导体材料制成的集成电路,可以包含一个或多个电子元件、电路或系统。芯片可以是任何电子设备的组成部分,不仅限于CPU,还包括GPU、内存芯片、存储控制器、网络接口等。GPU和CPU是两种最常见的特定的芯片。它们分别针对图形处理和通用计算任务进行了优化。2.CPU......
  • 算法笔记|Day34动态规划VII
    算法笔记|Day34动态规划VII☆☆☆☆☆leetcode198.打家劫舍题目分析代码☆☆☆☆☆leetcode213.打家劫舍II题目分析代码☆☆☆☆☆leetcode337.打家劫舍III题目分析代码☆☆☆☆☆leetcode198.打家劫舍题目链接:leetcode198.打家劫舍题目分析1.dp数组含义:d......
  • YOLOv8超详细环境搭建以及模型训练(GPU版本)
    目录1.安装CUDA和cuDNN1.1安装CUDA1.1.1查看当前你的电脑显卡支持的最高CUDA版本,后面的安装不能超过它1.1.2下载CUDA(官网或者百度网盘)1.1.3安装CUDA11.81.2配置cuDNN1.2.1下载cuDNN(官网或者百度网盘)1.2.2配置cuDNN2.安装Anaconda2.1下载Anaconda2.2安装Anacon......
  • 【船舶航线】基于matlab遗传算法求解船舶航线问题(目标函数:最低成本)【含Matlab源码 734
    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信或扫描文章底部QQ二维码。......