Litcius/Paper detail

RL4ReAl: Reinforcement Learning for Register Allocation

S. VenkataKeerthy, Siddharth Jain, Anilava Kundu, Rohit Aggarwal, Albert Cohen, Ramakrishna Upadrasta

202310 citationsDOIOpen Access PDF

Abstract

We aim to automate decades of research and experience in register allocation, leveraging machine learning. We tackle this problem by embedding a multi-agent reinforcement learning algorithm within LLVM, training it with the state of the art techniques. We formalize the constraints that precisely define the problem for a given instruction-set architecture, while ensuring that the generated code preserves semantic correctness. We also develop a gRPC based framework providing a modular and efficient compiler interface for training and inference. Our approach is architecture independent: we show experimental results targeting Intel x86 and ARM AArch64. Our results match or out-perform the heavily tuned, production-grade register allocators of LLVM.

Topics & Concepts

Computer scienceRegister allocationReinforcement learningx86AllocatorModular designCorrectnessProgramming languageCompilerProcessor registerDebuggingInstruction setEmbeddingJavaSet (abstract data type)Computer architectureArtificial intelligenceArchitectureExecutableParallel computingOperating systemMemory addressVisual artsSemiconductor memoryArtSoftwareParallel Computing and Optimization TechniquesReinforcement Learning in RoboticsEvolutionary Algorithms and Applications
RL4ReAl: Reinforcement Learning for Register Allocation | Litcius