mindspore.set_offload_context
- mindspore.set_offload_context(offload_config)[源代码]
配置异构训练详细参数,来调整offload策略。
说明
offload配置只有在通过mindspore.set_context(memory_offload=”ON”)开启offload功能才会被使用。
- 参数:
offload_config (dict) - 输入格式为{“offload_path”: “./offload”,”offload_cpu_size”:”512GB”,”hbm_ratio”:0.9}。支持以下参数配置:
offload_path:offload到磁盘上的路径,支持相对路径,默认值:
"./offload"
。offload_cpu_size:设置可用于offload到host侧总内存大小,格式只支持”xxGB”形式字符串。
offload_disk_size:设置可用于offload到磁盘的大小,格式只支持”xxGB”形式字符串。
hbm_ratio:策略相关参数,策略在用户设置的最大显存基础上能够使用的比例,小数,值范围(0,1],默认值:
1.0
。cpu_ratio:策略相关参数,策略在用户设置的最大host侧内存基础上能够使用的比例,小数,值范围(0,1],默认值:
1.0
。enable_pinned_mem:是否开启Pinned Memory,开启后可加速片上内存-DDR之间的拷贝,会影响系统虚拟内存。Bool类型。默认值:
True
。enable_aio:是否开启AIO,开启后可加速DDR-NVME之间的拷贝。Bool类型。默认值:
True
。aio_block_size:AIO中blocksize值,格式只支持”xxGB”形式字符串。
aio_queue_size:AIO中depth值,刷新磁盘等待队列最大值, 取值需为整数。
offload_param:参数初始位置,进行设置时只支持”disk”或”cpu”,用户不设置默认为
""
。offload_checkpoint:重计算点offload位置,只有开启重计算才有效,进行设置时只支持”disk”或”cpu”,用户不设置默认为
""
。auto_offload:是否自动进行offload策略生成,
True
时生成自动策略,False
时配合offload_param生成强制offload策略,一般取值为True
,默认值:True
。host_mem_block_size:host侧内存池block块的大小, 格式只支持”xxGB”形式字符串。通过调整块大小,可以减少内存碎片的产生。
- 异常:
ValueError - 输入key不是offload_config中的属性。
样例:
>>> from mindspore import context >>> context.set_offload_context(offload_config={"offload_param":"cpu"})