113 citations · 232 across the 18 of their papers we have counts for
19 papers
SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly
Jordi Armengol-Estapé, Jackson Woodruff, Chris Cummins +1
Decompilation is a well-studied area with numerous high-quality tools available. These are frequently used for security tasks and to port legacy code. However, they regularly gener…
Matching Linear Algebra and Tensor Code to Specialized Hardware Accelerators
Pablo Antonio Martínez, Jackson Woodruff, Jordi Armengol-Estapé +3
Dedicated tensor accelerators demonstrate the importance of linear algebra in modern applications. Such accelerators have the potential for impressive performance gains, but requir…
Learning C to x86 Translation: An Experiment in Neural Compilation
Jordi Armengol-Estapé, Michael F. P. O'Boyle
Deep learning has had a significant impact on many fields. Recently, code-to-code neural models have been used in code translation, code refinement and decompilation. However, the…
Neural Architecture Search as Program Transformation Exploration
Jack Turner, Elliot J. Crowley, Michael O'Boyle
Improving the performance of deep neural networks (DNNs) is important to both the compiler and neural architecture search (NAS) communities. Compilers apply program transformations…
Deep Data Flow Analysis
Chris Cummins, Hugh Leather, Zacharias Fisches +3
Compiler architects increasingly look to machine learning when building heuristics for compiler optimization. The promise of automatic heuristic design, freeing the compiler engine…
Modeling Black-Box Components with Probabilistic Synthesis
Bruce Collie, Jackson Woodruff, Michael F. P. O'Boyle
This paper is concerned with synthesizing programs based on black-box oracles: we are interested in the case where there exists an executable implementation of a component or libra…
M3: Semantic API Migrations
Bruce Collie, Philip Ginsbach, Jackson Woodruff +2
Library migration is a challenging problem, where most existing approaches rely on prior knowledge. This can be, for example, information derived from changelogs or statistical mod…
Optimizing Grouped Convolutions on Edge Devices
Perry Gibson, José Cano, Jack Turner +3
When deploying a deep neural network on constrained hardware, it is possible to replace the network's standard convolutions with grouped convolutions. This allows for substantial m…
Retrofitting Symbolic Holes to LLVM IR
Bruce Collie, Michael O'Boyle
Symbolic holes are one of the fundamental building blocks of solver-aided and interactive programming. Unknown values can be soundly integrated into programs, and automated tools s…
TASO: Time and Space Optimization for Memory-Constrained DNN Inference
Yuan Wen, Andrew Anderson, Valentin Radu +2
Convolutional neural networks (CNNs) are used in many embedded applications, from industrial robotics and automation systems to biometric identification on mobile devices. State-of…
Automatically Harnessing Sparse Acceleration
Philip Ginsbach, Bruce Collie, Michael F. P. O'Boyle
Sparse linear algebra is central to many scientific programs, yet compilers fail to optimize it well. High-performance libraries are available, but adoption costs are significant.…
Type-Directed Program Synthesis and Constraint Generation for Library Portability
Bruce Collie, Philip Ginsbach, Michael F. P. O'Boyle
Fast numerical libraries have been a cornerstone of scientific computing for decades, but this comes at a price. Programs may be tied to vendor specific software ecosystems resulti…
Augmenting Type Signatures for Program Synthesis
Bruce Collie, Michael O'Boyle
Effective program synthesis requires a way to minimise the number of candidate programs being searched. A type signature, for example, places some small restrictions on the structu…
BlockSwap: Fisher-guided Block Substitution for Network Compression on a Budget
Jack Turner, Elliot J. Crowley, Michael O'Boyle +2
The desire to map neural networks to varying-capacity devices has led to the development of a wealth of compression techniques, many of which involve replacing standard convolution…
Distilling with Performance Enhanced Students
Jack Turner, Elliot J. Crowley, Valentin Radu +3
The task of accelerating large neural networks on general purpose hardware has, in recent years, prompted the use of channel pruning to reduce network size. However, the efficacy o…
A Closer Look at Structured Pruning for Neural Network Compression
Elliot J. Crowley, Jack Turner, Amos Storkey +1
Structured pruning is a popular method for compressing a neural network: given a large trained network, one alternates between removing channel connections and fine-tuning; reducin…
SLAMBench2: Multi-Objective Head-to-Head Benchmarking for Visual SLAM
Bruno Bodin, Harry Wagstaff, Sajad Saeedi +9
SLAM is becoming a key component of robotics and augmented reality (AR) systems. While a large number of SLAM algorithms have been presented, there has been little effort to unify…
Machine Learning in Compiler Optimisation
Zheng Wang, Michael O'Boyle
In the last decade, machine learning based compilation has moved from an an obscure research niche to a mainstream activity. In this article, we describe the relationship between m…
Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM
Luigi Nardi, Bruno Bodin, M. Zeeshan Zia +9
Real-time dense computer vision and SLAM offer great potential for a new level of scene modelling, tracking and real environmental interaction for many types of robot, but their hi…