Redundant loads: A software inefficiency indicator

P Su, S Wen, H Yang, M Chabbi… - 2019 IEEE/ACM 41st …, 2019 - ieeexplore.ieee.org
Modern software packages have become increasingly complex with millions of lines of code
and references to many external libraries. Redundant operations are a common …

Redspy: Exploring value locality in software

S Wen, M Chabbi, X Liu - Proceedings of the Twenty-Second …, 2017 - dl.acm.org
Complex code bases with several layers of abstractions have abundant inefficiencies that
affect the execution time. Value redundancy is a kind of inefficiency where the same values …

What every scientific programmer should know about compiler optimizations?

J Tan, S Jiao, M Chabbi, X Liu - Proceedings of the 34th ACM …, 2020 - dl.acm.org
Compilers are an indispensable component in the software stack. Besides generating
machine code, compilers perform multiple optimizations to improve code performance …

Runtime multi-versioning and specialization inside a memoized speculative loop optimizer

R Lazcano, D Madroñal, E Juarez… - Proceedings of the 29th …, 2020 - dl.acm.org
In this paper, we propose a runtime framework that implements code multi-versioning and
specialization to optimize and parallelize loop kernels that are invoked many times with …

Typed architectures: Architectural support for lightweight scripting

C Kim, J Kim, S Kim, D Kim, N Kim, G Na… - Proceedings of the …, 2017 - dl.acm.org
Dynamic scripting languages are becoming more and more widely adopted not only for fast
prototyping but also for developing production-grade applications. They provide high …

A generalized framework for automatic scripting language parallelization

T Oh, SR Beard, NP Johnson… - 2017 26th …, 2017 - ieeexplore.ieee.org
Computational scientists are typically not expert programmers, and thus work in easy to use
dynamic languages. However, they have very high performance requirements, due to their …

I/O Optimisation and elimination via partial evaluation

CSF Smowton - 2014 - cl.cam.ac.uk
Computer programs commonly repeat work. Short programs go through the same
initialisation sequence each time they are run, and long-running servers may be given a …

Optimistic and Scalable Global Function Merging

K Lee, M Ren, E Hoag - Proceedings of the 25th ACM SIGPLAN/SIGBED …, 2024 - dl.acm.org
Function merging is a pivotal technique for reducing code size by combining identical or
similar functions into a single function. While prior research has extensively explored this …

Online auto-tuning for the time-step-based parallel solution of ODEs on shared-memory systems

N Kalinnik, M Korch, T Rauber - Journal of Parallel and Distributed …, 2014 - Elsevier
This article considers automatic performance tuning of time-step-based parallel solution
methods for initial value problems (IVPs) of systems of ordinary differential equations …

Short-circuit dispatch: Accelerating virtual machine interpreters on embedded processors

C Kim, S Kim, HG Cho, D Kim, J Kim, YH Oh… - ACM SIGARCH …, 2016 - dl.acm.org
Interpreters are widely used to implement high-level language virtual machines (VMs),
especially on resource-constrained embedded platforms. Many scripting languages employ …