paper-with-me

홈 › Papers

Optimizing LLVM Pass Sequences with Shackleton: A Linear Genetic Programming Framework

2022-01-31 · Hannah Peeler, Shuyue Stella Li, Andrew N. Sloss, Kenneth N. Reid, Yuan Yuan, Wolfgang Banzhaf

In this paper we introduce Shackleton as a generalized framework enabling the application of linear genetic programming -- a technique under the umbrella of evolutionary algorithms -- to a variety of use cases. We also explore here a novel application for this class of methods: optimizing sequences of LLVM optimization passes. The algorithm underpinning Shackleton is discussed, with an emphasis on the effects of different features unique to the framework when applied to LLVM pass sequences. Combined with analysis of different hyperparameter settings, we report the results on automatically optimizing pass sequences using Shackleton for two software applications at differing complexity levels. Finally, we reflect on the advantages and limitations of our current implementation and lay out a path for further improvements. These improvements aim to surpass hand-crafted solutions with an automatic discovery method for an optimal pass sequence.

📄 PDF Abstract BibTeX arXiv:2201.13305

Code (1)

arm-software/shackleton-framework 공식 구현

Tasks

Evolutionary Algorithms

Similar Papers 제목 키워드 기반

Genetic Improvement in the Shackleton Framework for Optimizing LLVM Pass Sequences

2022-04-28 · Shuyue Stella Li, Hannah Peeler, Andrew N. Sloss, Kenneth N. Reid 외

Genetic improvement is a search technique that aims to improve a given acceptable solution to a problem. In this paper, we present the novel use of genetic improvement to find problem-specific optimized LLVM pass sequenc…

Code Generation

A Case Study of LLVM-Based Analysis for Optimizing SIMD Code Generation

2021-06-27 · Joseph Huber, Weile Wei, Giorgis Georgakoudis, Johannes Doerfert 외

This paper presents a methodology for using LLVM-based tools to tune the DCA++ (dynamical clusterapproximation) application that targets the new ARM A64FX processor. The goal is to describethe changes required for the ne…

Code Generation

ACPO: AI-Enabled Compiler Framework

2023-12-15 · Amir H. Ashouri, Muhammad Asif Manzoor, Duc Minh Vu, Raymond Zhang 외

The key to performance optimization of a program is to decide correctly when a certain transformation should be applied by a compiler. This is an ideal opportunity to apply machine-learning models to speed up the tuning …

Learning to Combine Instructions in LLVM Compiler

2022-02-22 · Sandya Mannarswamy, Dibyendu Das

Instruction combiner (IC) is a critical compiler optimization pass, which replaces a sequence of instructions with an equivalent and optimized instruction sequence at basic block level. There can be thousands of instruct…

Compiler OptimizationMachine Translation

POSET-RL: Phase ordering for Optimizing Size and Execution Time using Reinforcement Learning

2022-07-27 · Shalini Jain, Yashas Andaluri, S. VenkataKeerthy, Ramakrishna Upadrasta

The ever increasing memory requirements of several applications has led to increased demands which might not be met by embedded devices. Constraining the usage of memory in such cases is of paramount importance. It is im…

CPUreinforcement-learningReinforcement Learning (RL)