
Auto-Tuning Compiler Transformations with Machine Learning – Dr. Biagio Cosenza - matt_d
https://www.youtube.com/watch?v=x7iLb-znxgU
======
matt_d
Slides (PDF): [http://biagiocosenza.com/talk/LLVM-Berlin-Meetup-
Nov2017.pdf](http://biagiocosenza.com/talk/LLVM-Berlin-Meetup-Nov2017.pdf)

Description: [https://www.meetup.com/LLVM-Social-
Berlin/events/244936204/](https://www.meetup.com/LLVM-Social-
Berlin/events/244936204/)

"To deliver higher performance, today's computer architecture has evolved in
complexity. Hardware design is taking an irreversible step toward parallel
architectures, which burdens application programmers in porting and tuning
their codes. It is desirable to write programs that execute efficiently on
highly parallel computing systems, but peak performance is notoriously hard to
reach, and the valuable cost of wasting these precious resources motivates
application programmers to devote significant time to tuning their codes.

Program automatic tuning (autotuning) is an emerging approach that relies on
automated search or machine learning to off-load the traditionally time-
consuming manual tuning of applications, and while it can apply to very
different scenarios, it has become particularly important for parallel
architectures.

This talk will show how machine learning can be a powerful tool to design
portable and efficient autotuners. Machine learning application to this
context is challenging and requires to address very specific problems
(encoding, modeling, and training data availability). I will show practical
examples of such autotuners for vectorization, loop unrolling, heterogeneous
task partitioning and stencil computations, and which have been applied on a
variety of compiler infrastructures such as LLVM, GCC, Insieme, and Patus. In
particular, I will show how modeling can be greatly enhanced by structural
learning methods that adapt to the structure of the problem."

