~/talk

Improving Vectorization Heuristics in a Dynamic Compiler with Machine Learning Models

Talkat VMIL 2022 · on Monday, 2022-12-05· [machine-learning, compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Machine learning replaces GraalVM’s hand-tuned post-vectorization unroll heuristic by a trained model that predicts loop unroll factors using ~142 code features extracted from 140k measured vectorized loops across 231 microbenchmarks. A random forest classifier is deployed inside the dynamic compiler, finds several large speedups that expose a compiler bug, and yields a geometric mean improvement of 8-11% on those benchmarks; model loading and feature extraction add compile-time overhead and generalization to large real-world suites is limited.

AI-written summary · about

  1. 0:00Intro
  2. 0:19Loop Vectorization
  3. 1:18Unrolling of Vectorized Loops
  4. 3:18What do we need?
  5. 5:14Data Generation
  6. 7:56Vector Operation Features
  7. 8:53Vector Component Features
  8. 9:55Graph Features
  9. 10:20Features - Overview
  10. 10:57Label Distribution
  11. 12:34Model Training
  12. 14:00Cross Validation Setup
  13. 14:39Training Configurations
  14. 15:28Training Results
  15. 20:10Model Size → Compile Time
  16. 22:01Improving Vectorization Heuristics. in a Dynamic Compiler with Machine Learning Models
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.