Optimization of Halide Image Processing Schedules with Reinforcement Learning - Pecenin, Marcelo; Maidl, André Murbach; Weingaertner, Daniel (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2019: Anais do XX Simpósio em Sistemas Computacionais de Alto DesempenhoDO - 10.5753/wscad.2019.8655, 2019)
Writing efficient image processing code is a very demanding task and much programming effort is put into porting existing code to new generations of hardware. Besides, the definition of what is an efficient code varies according to the desired optimization target, such as runtime, energy consumption or memory usage. We present a semi-automatic schedule generation system for the Halide DSL that uses a Reinforcement Learning agent to choose a set of scheduling options that optimizes the runtime of the resulting application. We compare our results to the state of the art implementations of three Halide pipelines and show that our agent is able to surpass hand-tuned code and Halide’s auto-scheduler on most scenarios for CPU and GPU architectures.