DCLGNov 10, 2019

Using Deep Neural Networks for Estimating Loop Unrolling Factor

arXiv:1911.03991v1
Originality Synthesis-oriented
AI Analysis

This addresses the tedious and critical task of program optimization for developers using TIRAMISU, but it is incremental as it applies an existing method (deep neural networks) to a specific domain.

The paper tackles the problem of automating loop unrolling optimization in programs by proposing a deep neural network model to predict the optimal unrolling factor for TIRAMISU, a polyhedral framework, aiming to improve performance without manual tuning.

Optimizing programs requires deep expertise. On one hand, it is a tedious task, because it requires a lot of tests to find out the best combination of optimizations to apply with their best factors. On the other hand, this task is critical, because it may degrade the performance of programs instead of improving it. The automatization of this task can deal with this problem and permit to obtain good results. Optimizing loops that take the most significant part of the program execution time plays a crucial role to achieve best performance. In this paper, we address Loop unrolling optimization, by proposing a deep Neural Network model to predict the optimal unrolling factor for programs written for TIRAMISU. TIRAMISU is a polyhedral framework designed to generate high performance code for multiple platforms including multicores, GPUs, and distributed machines. TIRAMISU introduces a scheduling language with novel commands to explicitly manage the complexities that arise when targeting these systems.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes