当前位置:首页 > 数码 >

显卡显存不够如何增加(独立显卡显存不够怎么补)

来源:原点资讯(m.360kss.com)时间:2023-04-23 04:41:03作者:YD166手机阅读>>

除去从检查点恢复前向传播结果张量带来的主要开销,DTR 的额外开销在于寻找应该被释放的最优张量,即计算上图张量 t 的 f(t)值。为了降低这一部分的计算量,MegEngine 还采用了两种运行时优化:

  • 不考虑小的张量,它们不加入候选集
  • 每次在需要释放张量的时候,随机采样并遍历少部分张量,以节省计算开销

最难的是工程实现

虽然 DTR 看上去原理也不复杂,但真正的难题在于提高易用性,即将所有细节都隐藏到框架的底层,只为开发者提供最简单的接口。

在此就用一个最简单的计算例子,跟着框架演算一遍,看看 MegEngine 是如何利用动态图的计算历史恢复与释放张量的。

显卡显存不够如何增加,独立显卡显存不够怎么补(9)

现在假设输入有 a 和 b 两个张量,并希望计算 a*b 与 a b,但是显存最大只能保存三个张量。在黄框计算 c=a b 时,显存还能保留张量 c,然而在下一步绿框计算 d=a*b 时只能先释放 c 才能保存 d。

不巧的是,下一步灰框需要获取黄框的计算结果,然而为了节省显存,c 已经被释放了。所以,MegEngine 现在需要做的是重新运行灰框的计算图,计算 c=a b,并加载到显存中。显然,这样做必然需要释放 d 的显存。

这样一来,鉴于显存的限制,MegEngine 就会自动选择合适的张量释放,并在需要时重新计算。如果需要重新计算某个张量的结果,例如上图的 d,就需要具体的历史计算信息(在这里就是 a b 这样的计算路径),与此同时还需要知道 a 和 b 这两个输入张量。

所有这样的历史计算信息都由 MegEngine 自动获取与保存,MegEngine 的工程师已经在底层用 C 处理完毕,用户完全不需要考虑。

struct ComputePath { std::shared_ptr<OpDef> op; SmallVector<TensorInfo*> inputs; SmallVector<TensorInfo*> outputs; double compute_time = 0; } *producer; SmallVector<ComputePath*> users; size_t ref_cnt = 0;

以上为 MegEngine 底层用于追踪计算路径信息的结构体。其中 op 表示产生该张量的算子;inputs 和 outputs 分别表示这个算子需要的输入与输出张量;compute_time 表示该算子实际的运行时间。

实际上,在使用 MegEngine 的过程中,全都是用 Python 接口创建张量,只不过框架会对应追踪每个张量的具体信息。每当需要访问张量,不用考虑张量是否在显存中时,没有也能立刻恢复出来。所有这些复杂的工程化的操作与运算逻辑都隐藏在了 MegEngine C 底层。

显卡显存不够如何增加,独立显卡显存不够怎么补(10)

Python 代码会翻译成 C 底层实现,C 代码会通过指针管理显卡内存中真正的张量(右图绿色部分)。

幸好这样的复杂操作不需要算法工程师完成,都交给 MegEngine 好了。

MegEngine 能做的事情远不止于此,只不过大多是像动态图显存优化这种技术一样,润物细无声地把用户的实际问题解决于无形。2020 年 3 月开源的 MegEngine 在以肉眼可见的速度快速成长,从静态计算图到动态计算图,再到持续提升的训练能力、移动端推理性能优化、动态显存优化…… 这也许就是开源的魅力。只有不断优化和创新,才能吸引和满足「挑剔」的开发者。MegEngine 下一个推出的功能会是什么?让我们拭目以待。

,

栏目热文

580显卡更换显存教程(刚换了一个580显卡怎么设置)

580显卡更换显存教程(刚换了一个580显卡怎么设置)

某品牌的RTX3060 PCB在很多数码论坛上,经常会有一些数码爱好者抱怨、质疑这样一个问题:为什么显卡不能像电脑的内存...

2023-04-23 05:04:44查看全文 >>

显卡显存不够可以用内存替代吗(显卡显存不够能不能用内存条)

显卡显存不够可以用内存替代吗(显卡显存不够能不能用内存条)

显卡篇聊显卡,先说说显卡是什么。显卡,全名显示接口卡,又名显示适配器。最早作用是将电脑的数字信号转化为图像在显示器上显示...

2023-04-23 04:37:20查看全文 >>

显卡显存爆满怎么解决(显卡显存不够解决方法)

显卡显存爆满怎么解决(显卡显存不够解决方法)

咱玩家在玩游戏的时候最怕遇见的问题,莫过于游戏卡顿或者突然闪退了,而导致这些现象发生的原因,多半出在负责图形处理的显卡上...

2023-04-23 04:46:42查看全文 >>

显卡显存不足会有什么后果(显卡显存太低怎么办)

显卡显存不足会有什么后果(显卡显存太低怎么办)

显存属于显卡的一项组成部分,显存的重要性可谓是仅次于GPU核心,显卡使用的显存类型,显存速度和显存容量都会明显影响着游戏...

2023-04-23 04:35:25查看全文 >>

怎么清理显存垃圾(有没有专门清理内存和显存的工具)

怎么清理显存垃圾(有没有专门清理内存和显存的工具)

电脑的显卡配置不高,在玩一些大型游戏的时候,就容易出现显存占用高的问题。显存占用过高的话,游戏的画面就容易出现卡顿的现象...

2023-04-23 05:10:32查看全文 >>

苹果手机的文件管理在哪里打开(怎么打开苹果手机文件管理)

苹果手机的文件管理在哪里打开(怎么打开苹果手机文件管理)

平常使用手机过程中,难免有些文件资料不便与人分享,特别是亲人朋友无意间翻到了,瞬间尴尬到无地自容…网上试了很多方法都没有...

2023-04-23 04:53:37查看全文 >>

苹果手机的文件管理在哪个文件夹(苹果手机文件管理在哪个页面)

苹果手机的文件管理在哪个文件夹(苹果手机文件管理在哪个页面)

苹果手机有个痛点,就是不支持文件管理。对于那些需要在移动端处理文档或者说整理文件的朋友来说,没有文件管理这个功能绝对让人...

2023-04-23 04:28:42查看全文 >>

苹果手机的文件管理怎么找(苹果手机文件管理哪里找)

苹果手机的文件管理怎么找(苹果手机文件管理哪里找)

手机卡卡卡,它总是在你崩溃的边缘进行试探。一遍遍的删删删还是没用?其实,除了手机APP,由于聊天、图片以及视频信息的累积...

2023-04-23 04:52:21查看全文 >>

苹果手机自带文件管理器在哪里(苹果手机上的文件管理在哪里)

苹果手机自带文件管理器在哪里(苹果手机上的文件管理在哪里)

iPhone手机虽然现在在中国销量越来越差,但不可否认的是,iPhone手机和安卓手机比起来依然有很多忠实的用户,他们已...

2023-04-23 04:33:38查看全文 >>

苹果手机的文件管理不见了怎么找(苹果手机没有文件管理怎么解决)

苹果手机的文件管理不见了怎么找(苹果手机没有文件管理怎么解决)

不知道大家有没有听说过一句话"买iOS送手机",其实这句话说的就是我们的苹果手机,不吹不黑的说,iPhone自带的iOS...

2023-04-23 04:29:46查看全文 >>

文档排行