Compilation Forking: A Fast and Flexible Way of Generating Data for Compiler-Internal Machine Learning Tasks

R Mosaner, D Leopoldseder, W Kisling… - arxiv preprint arxiv …, 2022 - arxiv.org
Compiler optimization decisions are often based on hand-crafted heuristics centered around
a few established benchmark suites. Alternatively, they can be learned from feature and …

Optimization-aware compiler-level event profiling

M Basso, A Prokopec, A Rosa, W Binder - ACM Transactions on …, 2023 - dl.acm.org
Tracking specific events in a program's execution, such as object allocation or lock
acquisition, is at the heart of dynamic analysis. Despite the apparent simplicity of this task …

Machine-Learning-Based Self-Optimizing Compiler Heuristics✱

R Mosaner, D Leopoldseder, W Kisling… - Proceedings of the 19th …, 2022 - dl.acm.org
Compiler optimizations are often based on hand-crafted heuristics to guide the optimization
process. These heuristics are designed to benefit the average program and are otherwise …

A Cost Model for a Graph-based Intermediate-representation in a Dynamic Compiler

D Leopoldseder, L Stadler, M Rigger… - Proceedings of the 10th …, 2018 - dl.acm.org
Compilers provide many architecture-agnostic, high-level optimizations trading off peak
performance for code size. High-level optimizations typically cannot precisely reason about …

Enhancing Performance Through Control-Flow Unmerging and Loop Unrolling on GPUs

A Murtovi, G Georgakoudis, K Parasyris… - 2024 IEEE/ACM …, 2024 - ieeexplore.ieee.org
Compilers use a wide range of advanced optimizations to improve the quality of the machine
code they generate. In most cases, compiler optimizations rely on precise analyses to be …

Low-overhead multi-language dynamic taint analysis on managed runtimes through speculative optimization

J Kreindl, D Bonetta, L Stadler… - Proceedings of the 18th …, 2021 - dl.acm.org
Dynamic taint analysis (DTA) is a popular program analysis technique with applications to
diverse fields such as software vulnerability detection and reverse engineering. It consists of …

Automatically exploiting the memory hierarchy of gpus through just-in-time compilation

M Papadimitriou, J Fumero, A Stratikopoulos… - Proceedings of the 17th …, 2021 - dl.acm.org
Although Graphics Processing Units (GPUs) have become pervasive for data-parallel
workloads, the efficient exploitation of their tiered memory hierarchy requires explicit …

Control Flow Duplication for Columnar Arrays in a Dynamic Compiler

S Kloibhofer, L Makor, D Leopoldseder… - arxiv preprint arxiv …, 2023 - arxiv.org
Columnar databases are an established way to speed up online analytical processing
(OLAP) queries. Nowadays, data processing (eg, storage, visualization, and analytics) is …

Loop Unrolling Based on SLP and Register Pressure Awareness

Z Ye, J Jiao - 2024 20th International Conference on Natural …, 2024 - ieeexplore.ieee.org
Loop unrolling is a common compiler optimization technique that reduces the execution
count of loop branch instructions and improves program performance by merging multiple …

[PDF][PDF] Improving Native-Image Startup Performance

M Basso, A Prokopec, A Rosà, W Binder - 2024 - dag.inf.usi.ch
With the increasing popularity of Serverless computing and Function as a Service—where
typical workloads have a short lifetime—the research community is increasingly focusing on …