Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Alex Reinking

dblp:165/2692 · DBLP profile ↗
← Back
4ranked-venue papers
2as first author
3since 2021 · last 2025
0000-0003-3285-2112ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 2 first-author · 3 since 2021Systems, architecture and hardware · 1 · 1 since 2021Theory of computation · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Programming languages and type systems · 38% Compilers and program optimization · 34% Runtime systems and virtual machines · 23%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Hardware accelerators and domain-specific architectures · 69% Parallel and multicore computing · 31%

Topics — the 10 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
language design
0.912025
Exo 2: Growing a Scheduling Language · ASPLOS (1) 2025
Compilers and program optimization
scheduling language
0.912025
Exo 2: Growing a Scheduling Language · ASPLOS (1) 2025
Compilers and program optimization
accelerator compilation
0.612022
Exocompilation for productive programming of hardware accelerators · PLDI 2022
Hardware accelerators and domain-specific architectures
accelerator programming models
0.612022
Exocompilation for productive programming of hardware accelerators · PLDI 2022
Runtime systems and virtual machines
garbage collection
0.512021
Perceus: garbage free reference counting with reuse · PLDI 2021
Programming languages and type systems › type systems › substructural type systems
linear types
0.512021
Perceus: garbage free reference counting with reuse · PLDI 2021
Runtime systems and virtual machines › garbage collection
reference counting
0.512021
Perceus: garbage free reference counting with reuse · PLDI 2021
Parallel and multicore computing
kernel optimization
0.312025
Exo 2: Growing a Scheduling Language · ASPLOS (1) 2025
Debugging and program repair
automated program repair
0.212015
A Type-Directed Approach to Program Repair · CAV (1) 2015
Programming languages and type systems
type systems
0.112015
A Type-Directed Approach to Program Repair · CAV (1) 2015

Methods — techniques the papers use, named apart from their topics

scheduling libraries · 1.7cursors mechanism · 1.7effect analysis · 1.1composable rewrites · 1.1soundness proof · 0.5formalization · 0.5type-directed synthesis · 0.2program repair · 0.2
YearPublicationVenuePosition
2025 Exo 2: Growing a Scheduling Language
abstract
User-schedulable languages (USLs) help programmers productively optimize programs by providing safe means of transforming them. Current USLs are designed to give programmers exactly the control they want, while automating all other concerns. However, there is no universal answer for what performance-conscious programmers want to control, how they want to control it, and what they want to automate, even in relatively narrow domains. We claim that USLs should, instead, be designed to grow. We present Exo 2, a scheduling language that enables users to define new scheduling operations externally to the compiler. By composing a set of trusted, fine-grained primitives, users can safely write their own scheduling library to build up desired automation. We identify actions (ways of modifying code), inspection (ways of interrogating code), and references (ways of pointing to code) as essential for any user-extensible USL. We fuse these ideas into a new mechanism called Cursors that enables the creation of scheduling libraries in user code. We demonstrate libraries that amortize scheduling effort across more than 80 high-performance kernels, reducing total scheduling code by an order of magnitude and delivering performance competitive with state-of-the-art implementations on three different platforms.
Yuka Ikarashi, Kevin Qian, Samir Droubi, Alex Reinking, Gilbert Louis Bernstein, Jonathan Ragan-Kelley
ASPLOS (1)4
2022 Exocompilation for productive programming of hardware accelerators
abstract
High-performance kernel libraries are critical to exploiting accelerators and specialized instructions in many applications. Because compilers are difficult to extend to support diverse and rapidly-evolving hardware targets, and automatic optimization is often insufficient to guarantee state-of-the-art performance, these libraries are commonly still coded and optimized by hand, at great expense, in low-level C and assembly. To better support development of high-performance libraries for specialized hardware, we propose a new programming language, Exo, based on the principle of exocompilation: externalizing target-specific code generation support and optimization policies to user-level code. Exo allows custom hardware instructions, specialized memories, and accelerator configuration state to be defined in user libraries. It builds on the idea of user scheduling to externalize hardware mapping and optimization decisions. Schedules are defined as composable rewrites within the language, and we develop a set of effect analyses which guarantee program equivalence and memory safety through these transformations. We show that Exo enables rapid development of state-of-the-art matrix-matrix multiply and convolutional neural network kernels, for both an embedded neural accelerator and x86 with AVX-512 extensions, in a few dozen lines of code each.
Yuka Ikarashi, Gilbert Louis Bernstein, Alex Reinking, Hasan Genc, Jonathan Ragan-Kelley
PLDI3
2021 Perceus: garbage free reference counting with reuse
abstract
We introduce Perceus, an algorithm for precise reference counting with reuse and specialization. Starting from a functional core language with explicit control-flow, Perceus emits precise reference counting instructions such that (cycle-free) programs are _garbage free_, where only live references are retained. This enables further optimizations, like reuse analysis that allows for guaranteed in-place updates at runtime. This in turn enables a novel programming paradigm that we call _functional but in-place_ (FBIP). Much like tail-call optimization enables writing loops with regular function calls, reuse analysis enables writing in-place mutating algorithms in a purely functional way. We give a novel formalization of reference counting in a linear resource calculus, and prove that Perceus is sound and garbage free. We show evidence that Perceus, as implemented in Koka, has good performance and is competitive with other state-of-the-art memory collectors.
Alex Reinking, Ningning Xie, Leonardo de Moura 0001, Daan Leijen
PLDI1
2015 A Type-Directed Approach to Program Repair
Alex Reinking, Ruzica Piskac
CAV (1)1