行业标准网
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210793333.9 (22)申请日 2022.07.07 (65)同一申请的已公布的文献号 申请公布号 CN 114860461 A (43)申请公布日 2022.08.05 (73)专利权人 中国科学技术大学 地址 230026 安徽省合肥市包河区金寨路 96号 (72)发明人 王海权 李诚 周泉 于笑颜  吕敏 许胤龙  (74)专利代理 机构 北京凯特来知识产权代理有 限公司 1 1260 专利代理师 郑立明 韩珂 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/54(2006.01)G06T 1/20(2006.01) G06T 1/60(2006.01) (56)对比文件 CN 101739380 A,2010.0 6.16 CN 112199173 A,2021.01.08 WO 2022062524 A1,202 2.03.31 CN 111078395 A,2020.04.28 Chien-Chin Huang等. “SwapAdvisor: Pushing Deep Learn ing Beyond the GPU Memory L imit via Smart Swap ping”. 《ASPLOS’ 20》 .2020, Jie Ren 等. “ZeRO-Offload: Democratizi ng Billion-Scale Model Training”. 《2021 USEN IX Annual Tec hnical Conference》 .2021,第5 51-564页. 审查员 李雨晴 (54)发明名称 GPU设备间高效内存置换的方法、 系统、 设备 及存储介质 (57)摘要 本发明公开了一种GPU设备间高效内存置换 的方法、 系统、 设备及存储介质, 相关方案中: 首 先, 在有效减轻内存限制的前提下, 将数据交换 操作 (卸载、 取回) 与模型训练并行, 既不引入计 算开销, 又能隐藏传输时间; 其次, 高内存负载的 GPU设备上的非活跃数据卸载到其他 GPU设备上, 需要时再取回, 既充分利用系统里设备空闲内存 空间, 又聚合GP U间多条直连高速链路, 获得了高 倍速通信带宽, 使得更快的降低内存, 更及时的 取回数据。 结合以上两点, 本发明能大大降低由 内存压缩引入的性能开销, 又能有效的降低内存 对模型训练的限制, 进 而加快模型训练效率。 权利要求书2页 说明书6页 附图2页 CN 114860461 B 2022.10.28 CN 114860461 B 1.一种GPU设备间高效内存置换的方法, 其特 征在于, 包括: 为参与交换工作的GPU设备分配工作组件, 包括: 建议者、 内存管理者、 协调者与传输 者; 其中, GPU为图形处 理器; 当前GPU设备的协调者接收到数据交换请求 时, 若数据交换请求的类型为数据卸载, 则 通过建议者确定相关的数据交换方案, 并由内存管理者根据数据交换方案在目的GPU设备 中分配对应大小的内存, 生 成目的空间信息表; 之后, 协调者结合所述目的空间信息表生成 相应的传输任务, 并添加到相应传输队列上, 由所述传输者实现传输任务与模型训练的并 行执行; 其中, 建议 者确定相关的数据交换 方案的方式包括: 建议者跟踪系统中的以下硬件信息: 各GPU设备上可用内存容量, GPU设备间是否有直 连链路, 以及GPU设备间链路带宽信息; 建议者根据硬件信 息, 数据的大小, 数据使用的间隔, 权衡数据卸载前后的内存收益和 传输开销, 生成一个最快速的数据交换方案; 所述最快速的数据交换方案包括: 数据是否应 该被卸载; 数据应该被卸 载时, 数据应该被卸 载到具体的一个或多个目的GPU设备, 以及各 目的GPU设备 所需承担的数据量。 2.根据权利要求1所述的一种GPU设备间高效内存置换的方法, 其特征在于, 所述由内 存管理者根据数据 交换方案在目的GPU设备中分配对应大小的内存, 生成目的空间信息表 包括: 所述内存管理者使用PyTorch中CUDA内存管理器, 在同一个进程内, 根据数据交换方 案, 在各目的GPU设备中分配对应大小的内存; 内存分配完毕后, 生成并维护一个目的空间 信息表, 空间信息表包括: 各目的GPU设备上新分配的内存地址和内存大小; 其中, PyTorch 为一种开源的机器学习库, CUDA 表示统一计算设备架构。 3.根据权利要求1所述的一种GPU设备间高效内存置换的方法, 其特征在于, 所述协调 者结合所述目的空间信息表生成相应的传输任务, 并添加到相应传输队列上包括: 所述协调者结合数据 所在的内存地址和大小、 目的空间信 息表以及传输类型生成相应 的传输任务; 所述传输类型与所述数据 交换请求的类型相对应, 即数据 交换请求的类型为 数据卸载时, 通过传输任务传输相应数据; 按照数据类型将传输任务添加到相应 类型的传输队列上。 4.根据权利要求1所述的一种GPU设备间高效内存置换的方法, 其特征在于, 所述由所 述传输者实现传输任务与模型训练的并行 执行包括: 将传输者与计算进程隔离, 并由传输者额外维护两个传输进程, 分别用于发送和接收 数据; 其中, 对应于数据卸 载类型的传输任务, 相应传输进程用于发送数据, 对应于数据取 回类型的传输任务, 相 应传输进程用于接 收数据; 每个传输进程维护一个传输队列以及一 组与目的GPU设备通信的CUDA流, 用于实现传输者能同时向多个目的GPU设备发送数据, 或 者接收来自对多个目的GPU设备的数据, 其中, CUDA表示统一计算设备架构; 传输者不 断地 从传输队列中取出传输任务, 根据目的空间映射表, 把数据切成数据片段, 拷贝到对应目的 GPU设备新分配的空间上, 或者, 将 接收的数据片段合并为完整 数据, 并放置于当前GPU设备 用于装载 取回数据的内存位置中; 根据传输类型, 数据传输 完成后更新相应数据的状态。 5.根据权利要求1所述的一种GPU设备间高效内存置换的方法, 其特征在于, 该方法还权 利 要 求 书 1/2 页 2 CN 114860461 B 2包括: 当前GPU设备的协调者接收到类型为数据取回的数据交换请求时, 封装一个取回任 务, 并将取回任务推入 对应的传输队列; 数据用于计算时, 协调者检查数据的状态; 数据的状态包括: 驻留内存、 正在卸载、 已被 卸载与正在被取回; 数据在传输队列中等待传输和对应传输任务正在被执行时, 数据状态 被更新为正在卸载或正在被取回, 传输完 毕后, 状态被更新为驻留内存或已被卸载; 若数据 的状态为驻留内存, 则正常进 行计算; 若 数据状态为正在取回, 则等待其状态更新为驻留内 存后, 进行计算。 6.根据权利要求5所述的一种GPU设备间高效内存置换的方法, 其特征在于, 协调者封 装取回任务的步骤 包括: 协调者从请求记录 中查找相应数据的卸载记录, 按照与卸载记录相反的链路构建数据 取回方案, 并向内存管理者申请当前GPU设备中用于装载取回数据的内存后, 封装取回任 务。 7.一种GPU设备间高效内存置换的系统, 其特征在于, 基于权利要求1~6任一项所述的 方法实现, 该系统包括: 工作组件分配单元, 用于为参与交换工作的GPU设备分配工作组件, 包括: 建议者、 内存 管理者、 协调者与传输者; 内存置换单元, 用于通过工作组件实现GPU设备间的内存置换, 步骤包括: 当前GPU设备 的协调者接 收到数据 交换请求时, 若数据 交换请求的类型为数据卸 载, 则通过建议者确定 相关的数据 交换方案, 并由内存管理者根据数据交换方案在目的GPU设备中分配对应大小 的内存, 生成目的空间信息表; 之后, 协调者结合所述目的空间信息表生成相应的传输任 务, 并添加到相应传输队列上, 由所述传输者实现传输任务与模型训练的并行 执行。 8.一种处理设备, 其特征在于, 包括: 一个或多个处理器; 存储器, 用于存储一个或多个 程序; 其中, 当所述一个或多个程序被所述一个或多个处理器执行时, 使得所述一个或多个 处理器实现如权利要求1~6任一项所述的方法。 9.一种可读存储介质, 存储有计算机程序, 其特征在于, 当计算机程序被处理器执行时 实现如权利要求1~6任一项所述的方法。权 利 要 求 书 2/2 页 3 CN 114860461 B 3

.PDF文档 专利 GPU设备间高效内存置换的方法、系统、设备及存储介质

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 GPU设备间高效内存置换的方法、系统、设备及存储介质 第 1 页 专利 GPU设备间高效内存置换的方法、系统、设备及存储介质 第 2 页 专利 GPU设备间高效内存置换的方法、系统、设备及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:25:23上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。