mlsanityData to 7 Oct 2026

Customized Monte Carlo Tree Search for LLVM/Polly's Composable Loop Optimization Transformations

arXiv 2105.04555 ↗First posted 10 May 2021cs.PL cs.AI cs.DCcited by 4

Not on the map. Why?

Abstract (arXiv)

Polly is the LLVM project's polyhedral loop nest optimizer. Recently, user-directed loop transformation pragmas were proposed based on LLVM/Clang and Polly. The search space exposed by the transformation pragmas is a tree, wherein each node represents a specific combination of loop transformations that can be applied to the code resulting from the parent node's loop transformations. We have developed a search algorithm based on Monte Carlo tree search (MCTS) to find the best combination of loop transformations. Our algorithm consists of two phases: exploring loop transformations at different depths of the tree to identify promising regions in the tree search space and exploiting those regions by performing a local search. Moreover, a restart mechanism is used to avoid the MCTS getting trapped in a local solution. The best and worst solutions are transferred from the previous phases of the restarts to leverage the search history. We compare our approach with random, greedy, and breadth-first search methods on PolyBench kernels and ECP proxy applications. Experimental results show that our MCTS algorithm finds pragma combinations with a speedup of 2.3x over Polly's heuristic optimizations on average.

Key facts. Cited by 4 papers in the map (data through 7 Oct 2026). Builds on 10 of its 45 references that are in the map. First posted on arXiv 10 May 2021.

Builds on

10 of 45 references.

References · 10

  1. 2018code2vec: Learning Distributed Representations of Codecited by 249
  2. 2018Learning to Optimize Tensor Programscited by 138
  3. 2019NeuroVectorizer: End-to-End Vectorization with Deep Reinforcement Learningcited by 37
  4. 2020Autotuning PolyBench Benchmarks with LLVM Clang/Polly Loop Optimization Pragmas Using Bayesian Optimizationcited by 13
  5. 2019Reinforcement Learning and Adaptive Sampling for Optimized DNN Compilationcited by 9
  6. 2020ProTuner: Tuning Programs with Monte Carlo Tree Searchcited by 9
  7. 2020Autotuning Search Space for Loop Transformationscited by 6
  8. 2018User-Directed Loop-Transformations in Clangcited by 3
  9. 2019On the Representation of Partially Specified Implementations and its Application to the Optimization of Linear Algebra Kernels on GPUcited by 3
  10. 2019Design and Use of Loop-Transformation Pragmascited by 1

Built on by

Cited by year

Citing papers per year: 2022: 2; 2023: 2.

4 papers.