使用 Sublinear 进行显存优化¶
Warning
Sublinear 仅支持在静态图模式下开启,参考 Convert dynamic graphs to static graphs (Trace) 。
MegEngine 通过引入 Sublinear 1 技术来进行静态图下的显存优化。
- 1
Tianqi Chen, Bing Xu, Chiyuan Zhang, and Carlos Guestrin. Training deep nets with sublinear memory cost. arXiv preprint arXiv:1604.06174, 2016.
用户在编译静态图时使用 SublinearMemoryConfig
设置 trace
的参数 sublinear_memory_config
, 就可以打开 Sublinear 优化:
from megengine.jit import trace, SublinearMemoryConfig
config = SublinearMemoryConfig()
@trace(symbolic=True, sublinear_memory_config=config)
def train_func(data, label, * , net, optimizer, gm):
...