Learning to Optimize Halide with Tree Search and Random Programs

Learning to Optimize Halide with Tree Search and Random Programs
复制标题

DOI:
10.1145/3306346.3322967
复制
发表时间:
2019-07-01
影响因子:
6.2
通讯作者:
Ragan-Kelley, Jonathan
Ragan-Kelley, Jonathan
中科院分区:
计算机科学1区
文献类型:
--
作者:
Adams, Andrew;Ma, Karima;Ragan-Kelley, Jonathan

文献摘要

被引文献

相似文献

我们提出了一种新算法,以自动安排卤化程序程序,以进行高性能图像处理和深度学习。我们可以显着改善先前方法的性能,该方法认为计划有限。我们定义了可能比以前的方法大得多的可能计划的参数化,并使用梁搜索的变体对其进行搜索。搜索优化了基于新派生功能和机器学习的组合,由成本模型预测的运行时。我们通过生成和介绍数十万个随机程序和时间表来训练成本模型。我们表明,这种方法在有或没有自动传动的情况下有效运行。它产生的时间表平均几乎是现有的Halide AutoScheduler速度几乎两倍,而无需自动调整或速度速度的两倍以上,并且是第一个自动调度算法平均超过人类专家。
We present a new algorithm to automatically schedule Halide programs for high-performance image processing and deep learning. We significantly improve upon the performance of previous methods, which considered a limited subset of schedules. We define a parameterization of possible schedules much larger than prior methods and use a variant of beam search to search over it. The search optimizes runtime predicted by a cost model based on a combination of new derived features and machine learning. We train the cost model by generating and featurizing hundreds of thousands of random programs and schedules. We show that this approach operates effectively with or without autotuning. It produces schedules which are on average almost twice as fast as the existing Halide autoscheduler without autotuning, or more than twice as fast with, and is the first automatic scheduling algorithm to significantly outperform human experts on average.