In plain words: A search tool picks how to schedule a program's steps by looking ahead and testing whole schedules, instead of the usual beam search that greedily scores half-finished ones. It found faster programs than beam search on 16 real image and deep-learning benchmarks.
Abstract
We explore applying the Monte Carlo Tree Search (MCTS) algorithm in a notoriously difficult task: tuning programs for high-performance deep learning and image processing. We build our framework on top of Halide and show that MCTS can outperform the state-of-the-art beam-search algorithm. Unlike beam search, which is guided by greedy intermediate performance comparisons between partial and less meaningful schedules, MCTS compares complete schedules and looks ahead before making any intermediate scheduling decision. We further explore modifications to the standard MCTS algorithm as well as combining real execution time measurements with the cost model. Our results show that MCTS can outperform beam search on a suite of 16 real benchmarks.
Ameer Haj-Ali, Hasan Genc, Qijing Huang, William Moses, John Wawrzynek, Krste Asanović, Ion Stoica
arXiv:2005.13685 · cs.DC, cs.AI, cs.LG, cs.PF, cs.PL · submitted May 27, 2020
abstract · pdf · html