ProTuner: Tuning Programs with Monte Carlo Tree Search
arXiv:2005.13685
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.
References in corpus (7)
- Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions
- A Survey on Compiler Autotuning using Machine Learning
- TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
- MLIR: A Compiler Infrastructure for the End of Moore's Law
- Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks
- Machine Learning in Compiler Optimisation
- Reinforcement Learning and Adaptive Sampling for Optimized DNN Compilation