Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
97 tokens/sec
GPT-4o
53 tokens/sec
Gemini 2.5 Pro Pro
44 tokens/sec
o3 Pro
5 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Customized Monte Carlo Tree Search for LLVM/Polly's Composable Loop Optimization Transformations (2105.04555v1)

Published 10 May 2021 in cs.PL, cs.AI, cs.DC, cs.LG, and cs.PF

Abstract: 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.

User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (6)
  1. Jaehoon Koo (8 papers)
  2. Prasanna Balaprakash (92 papers)
  3. Michael Kruse (19 papers)
  4. Xingfu Wu (17 papers)
  5. Paul Hovland (24 papers)
  6. Mary Hall (12 papers)
Citations (7)

Summary

We haven't generated a summary for this paper yet.