A Deep Learning Approach for Automatic Code Optimization in the Tiramisu Compiler
Ecole Nationale Superieure D’Informatique
Ecole Nationale Superieure D’Informatique, 2019
@article{mohammed2019graduation,
title={A Deep Learning Approach for Automatic Code Optimization in the Tiramisu Compiler},
author={Mohammed, HENNI},
year={2019}
}
Modern compilers offer more and more code optimization possibilities. This enables better use of sophisticated hardware architectures and available resources in order to accelerate programs. It is difficult to predict which optimizations will be beneficial for a given program, as it depends on the program, the execution environment, interaction with other optimizations, and other factors. Manually selecting which optimizations to apply from the wide range of choices is thus a difficult task that requires time and substantial expertise. To mitigate this, many efforts in the compiler community focused on automating this process. Compiler researchers proposed automatic compiler optimization using various techniques, including machine learning. In this research project, we explore how to leverage deep learning for automatic optimization within the Tiramisu compiler. We develop a random Tiramisu code generator to create a dataset with, and use it to train a deep neural network to evaluate optimization combinations on programs. The system automatically optimizes programs by generating schedules and using the model to quickly find well-performing ones. We show that with a prediction accuracy of 73%, we accelerate a class of randomly generated Tiramisu programs with a speedup value of 84% of the best possible speedup in our dataset.
August 11, 2019 by hgpu