megengine.jit.SublinearMemoryConfig

class SublinearMemoryConfig(thresh_nr_try=10, genetic_nr_iter=0, genetic_pool_size=20, lb_memory_mb=0, num_worker=max(1, get_device_count('cpu') // 2))[源代码]

亚线性内存优化的配置。

参数
  • thresh_nr_try (int) – 线性空间以及亚线性内存优化的当前范围搜索的样本数目。默认:10。也可以通过环境变量 ‘MGB_SUBLINEAR_MEMORY_THRESH_NR_TRY’ 进行设置。

  • genetic_nr_iter (int) – 使用遗传算法寻找最优切分策略时的迭代轮数。默认:0。也可以通过环境变量 ‘MGB_SUBLINEAR_MEMORY_GENETIC_NR_ITER’ 进行设置。

  • genetic_pool_size (int) – 遗传优化算法进行交叉随机选择(crossover)时所使用的样本数。默认:20。也可以通过环境变量 ‘MGB_SUBLINEAR_MEMORY_GENETIC_POOL_SIZE’ 进行设置。

  • lb_memory_mb (int) – 次线性内存优化瓶颈大小的下界(以MB为单位)。它可用于在内存和速度之间进行手动权衡。默认:0。也可以通过设置环境变量 ‘MGB_SUBLINEAR_MEMORY_LOWER_BOUND_MB’ 来实现。

  • num_worker (int) – 搜索次线性内存优化最优切分策略时使用的线程数。默认:当前系统中CPU数目的一半。注意:该参数值需要大于等于1。也可以通过设置环境变量 ‘MGB_SUBLINEAR_MEMORY_WORKERS’来实现。

注意,为了使上述环境变量生效,需要将环境变量 MGB_COMP_GRAPH_OPT 设置为 ‘enable_sublinear_memory_opt=1’ 。

方法