Papers for

software performance engineers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Channel selection for mixture-of-experts decoding works without calibration data

Channel Selection for Mixture-of-Experts Decoding Needs No Calibration Data

Abstract: Mixture-of-Experts (MoE) models are bottlenecked by loading routed-expert weights from memory during interactive decoding at small batch sizes. Because most intermediate channels in a routed expert contribute little to any single token, channel selectors predict which channels matter and read only their weights, typically keeping channels above a threshold calibrated on offline data. We show that channel selection needs no calibration data. First, a calibrated threshold does not fix how much a selector reads, because the number of channels passing it varies across inputs; Prox with thresholds calibrated for an 18% read budget actually reads only 12.9% on average across our benchmarks. Second, top-k keeps each token's k highest-scoring channels and needs no calibration data. At the calibrated budget, a selector's top-k version matches or beats its threshold version on the same score in 40 of 43 comparisons at 13% and 18% budgets, including all 23 on generation tasks. The top-k versions also avoid the repetition-loop collapse that calibrated thresholds cause on Gemma 4. Calibrating a threshold thus provides neither of the two things selectors use it for: a known read budget and a consistent accuracy gain at that budget. We furthermore introduce a reader built entirely from the model's weights, which screens channels with a ternary sketch and recovers the skipped ones with a low-rank map. Across three post-trained MoE models, our reader retains 98.1% of full-model accuracy at 17.8% of routed-expert reads, with Triton kernels running MoE blocks 1.60 to 1.90x faster than optimized vLLM at batch one and up to 2.69x at larger batches on the same three models.

Tue 27 OctMachine LearningArtificial Intelligence
The gist
When using Mixture-of-Experts (MoE) models, the process of choosing which parts of the model to read during prediction is important to speed up computation. Usually, this choice relies on setting thresholds based on separate calibration data, but the authors found this is unnecessary. They show that a simpler method called top-k channel selection works well without any calibration and even avoids certain problems caused by thresholding. They also built a new reader system that efficiently selects and recovers needed model parts, making decoding faster while keeping nearly the same accuracy.
Open → 2610.37386v1

Handling missing data to improve HPC performance portability scores

Handling Missing Data in Performance Portability Studies

Abstract: Missing data is a common challenge in many real-world datasets, often leading to biased results or reduced accuracy. Missing data is a pervasive problem in performance efficiency datasets, particularly in high-performance computing (HPC) performance portability studies. Performance portability scores rely on complete sets of performance efficiencies as inputs to their respective metrics; however, missing values can arise due to incomplete benchmarking, hardware constraints, or implementation gaps. Many established performance portability metrics lack mechanisms for handling missing inputs, which can result in incomplete analyses or the inability to compute scores altogether. In this study, we evaluate a range of imputation methods and algorithms for addressing missing performance efficiencies. We present illustrative examples for each approach and apply them to real-world HPC performance portability datasets. Our results highlight the trade-offs between accuracy, robustness, and computational cost, offering practical recommendations for researchers seeking to mitigate the impact of missing data in performance portability assessments.

Sun 4 OctDistributed, Parallel, and Cluster Computing
The gist
Missing information is common in datasets used to measure how well software runs across different computers. This problem makes it hard or impossible to get accurate scores on software performance portability. The authors study different ways to fill in these missing data points, showing how each method affects accuracy, reliability, and computing effort. Their work helps people understand which approaches work best for different situations in high-performance computing.
Open → 2610.05605v1

Speculative decoding performance and costs measured on consumer systems

Execution-Path Qualification and Realized Costs in Speculative Decoding on Consumer Systems

Abstract: Numerical execution paths can change greedy output; a mismatch alone does not predict the remaining trajectory. On the tested B570 stack, we select a draft-free target-only micro-batch-one predictor using exposed discovery data, then freeze complete generated-ID predictions before reserved live speculation. It matches 72/72 capped sequences on 24 repeat-stable prompts, including all 12 runs of four reference-divergent prompts; the same-set reference matches 60/72. The predictor is sufficient for this path, but it neither restores qualification nor identifies a unique numerical cause. Separate B570 same-state forks test intervention effects; RTX proposal/replay programs test reproduction while sharing numerical routines. We assess cost separately. Newly direct-ID-qualified RTX serialization is slower within its instrumented post-prefill boundary ($0.646\times$ target/serialized latency). At fixed measured progress and target work, 358H remains below parity even with draft and residual costs removed. Qualified M4 Guard beats target-only but loses to fixed speculation. These results give testable diagnoses and engineering decisions about lossless compatibility and complete cost on the measured paths; they establish no portable decoding or control gain.

Fri 2 OctPerformance
The gist
Speculative decoding tries to predict the next steps of a computer program to work faster, but just matching early guesses doesn’t guarantee the whole prediction will be right. The authors tested a new prediction method on a consumer system and found it could match all tested cases but didn’t uniquely identify why mismatches happen. They also measured the time costs of their method, showing some slower steps within the prediction process. Their findings help engineers understand the trade-offs in prediction methods but don’t show a universal improvement in decoding speed or control.
Open → 2610.03228v1

Coco boosts hardware and software design with an intelligent assistant

Coco: An Agentic Copilot for the Hardware--Software Co-Design Lifecycle

Abstract: Co-designing ML models and the accelerators that run them is an unusual reasoning task: architects must draw confident, high-stakes conclusions about systems that do not yet exist, and the pace of both model evolution and hardware cadence means the analysis burden grows every quarter. The evidence behind each decision--hundreds of gigabytes of fresh simulation sweeps over novel design points--is by construction absent from any LLM's pretraining corpus, and there is no external literature to retrieve; naive "chat-with-your-data" approaches hallucinate exactly where correctness matters most. We present Coco (Copilot for Codesign), an agentic platform deployed with TPU architects that accelerates the co-design lifecycle of setting up experiments, sweeping simulators, and deriving insights. Coco is built as four layers: (i) a datastore that automatically registers every simulation sweep into a normalized relational schema, so agents ground every number in a SQL query rather than scraping heterogeneous files; (ii) a library of tools with typed APIs that agents compose without human orchestration; (iii) agents that encode recurring analysis workflows--most notably iso-execution analysis, which compares systems at matched execution configurations, including swept-but-dominated points off the Pareto frontier; and (iv) a platform UX whose navigation state doubles as agent context. We report early deployment experience toward a reduction in time-to-simulation and time-to-insight, and argue that co-design is a distinct agentic domain: its data must be retrieved rather than memorized, its workflows are recurring but context-dependent, and expert adoption hinges on UX that balances IDE-style control with interactive exploration.

Thu 1 OctProgramming LanguagesArtificial Intelligence
The gist
Designing both machine learning hardware and the models they run is very complex and requires analyzing huge amounts of new simulation data every few months. The authors present Coco, a smart assistant that helps engineers organize data, run experiments, and analyze results efficiently without making mistakes. Coco understands recurring tasks and provides an interactive interface that fits the experts' workflows. Early tests with TPU designers show it speeds up decision-making during co-design.
Open → 2610.02376v1

Catscan visualizes CPU pipeline activity for performance analysis

Catscan: Visualizing Pipelines of CPU Performance Simulation

Abstract: Processor pipeline visualization tools are routine inside industry CPU teams, but few of them are described or released publicly. As a result, students, researchers, and other practitioners rarely see the tooling that processor architects use to debug performance before silicon. This paper describes two pieces of Ampere Computing's performance- analysis infrastructure that we have released to the community as open source: event streams, a simulator-output format, and Catscan, an interactive viewer built around that format. Event streams record microarchitectural activity as typed events connected by transaction relationships, so a user can move between a symptom and the instruction, uop, or memory transaction that explains it. Catscan uses that structure to support resource- and transaction-oriented views, persistent highlighting, domain-specific search, comparative trace synchronization, and other workflows used during product development. In this paper we report the design choices that survived production use, the limitations we encountered, and the lessons we think are useful for future microarchitectural visualization tools.

Thu 1 OctHardware ArchitectureHuman-Computer InteractionPerformance
The gist
Understanding how a computer's processor works inside is complicated, and tools to see what happens in the processor are often kept secret inside companies. Ampere Computing created and shared two new open tools called event streams and Catscan. These tools help engineers look at detailed CPU activity, making it easier to find why things slow down or do not work well. The paper explains how these tools were designed, their limits, and what might help future tools for understanding processors.
Open → 2610.02121v1

Knuth-Bendix completion boosts program optimization speed and quality

Augmenting Rewrite Rule Sets via Knuth-Bendix Completion

Abstract: Equality Saturation (EqSat) is a powerful technique for program optimization, systematically exploring the search space of candidate programs to overcome the phase ordering problem. However, the feasibility and performance of EqSat rely heavily on the specific rewrite rules used to derive equivalent programs. These rule sets are typically handcrafted, requiring extensive domain expertise and carrying the risk of missing valuable transformations. In this work, we evaluate Knuth-Bendix Completion (KBC) as a method for automatically generating and augmenting rewrite rules for EqSat. Our experiments show faster optimization as well as reaching better terms with previously missed optimizations.

Thu 1 OctProgramming Languages
The gist
Optimizing computer programs is tricky because the order of changes can affect the outcome. The authors studied a way to automatically generate rules that help explore many possible program changes without missing good ones. They showed that their method speeds up finding better program versions by adding new rules that were not manually created before. This means program optimization can become more efficient and catch improvements previously overlooked.
Open → 2610.01246v1

Goal-persistent coding agents optimize particle tracking code performance

Goal-Persistent Coding Agents as Scientific Performance Engineers: A Fixed-Radius Nearest-Neighbor Case Study

Abstract: Coding agents can pursue persistent objectives across many tool-use turns, but evidence that general-purpose agents can conduct rigorous scientific performance engineering remains limited. We present a repository-scale case study in which off-the-shelf Codex and Claude Code agents optimize fixed-radius nearest-neighbor (FRNN) search for particle tracking. Starting from a PyTorch-dependent CUDA implementation, the agents follow an executable goal that specifies exact-correctness tests, profiling requirements, and acceptance criteria without prescribing code transformations. In the primary sequential trajectory, they autonomously remove the PyTorch dependency and conduct hypothesis-driven optimization experiments. The resulting standalone C++/CUDA library exactly reproduces the targeted reference result. Its synchronous NumPy interface achieved 1.6-fold speedup over the original GPU-resident PyTorch interface, despite including host transfers. Similar speedups were observed across different GPU architectures and software stacks. An independent optimization rerun followed a different sequence of hypotheses and reached even better performance on the target workload. These results show that goal-persistent coding agents can act as experimental performance engineers, and that executable scientific contracts are needed both to guide and to validate their optimization.

Fri 25 SeptArtificial IntelligencePerformanceSoftware Engineering
The gist
Improving software performance can be tricky and requires careful testing and changes. This paper shows that certain coding agents, powered by AI models like Codex and Claude Code, can work through these tasks on their own. They started with a GPU-based program for tracking particles and made it run faster while keeping the results exactly the same. Their work demonstrates that AI agents can be used as performance engineers, provided clear tests and goals guide them.
Open → 2609.31980v1

Software performance patterns improve critical path analysis accuracy

Discovering Performance Archetypes: Critical-Path-Aware Pattern Analysis and Regression Detection

Abstract: Software performance analysis and prediction requires integrating multiple signals, as code structure alone cannot capture runtime behavior shaped by execution frequency, resource contention, and I/O patterns. We present a critical-path-aware performance analysis methodology that automatically discovers recurring performance patterns by synthesizing static code features, dynamic execution traces, and kernel-level resource data. In a preliminary study across six real-world C/C++ applications (SQLite, OpenSSL, Zstandard, FFmpeg, cURL, and jq), we first empirically confirm that static complexity metrics explain only 10.4% of the variance ($ρ^2$) in critical path execution time, quantifying a gap that, while theoretically expected, had not been measured systematically across applications. Motivated by this finding, we analyze nearly 80,000 critical execution paths and address two research questions. First, we discover 13 distinct performance archetypes: recurring behavioral patterns that appear consistently across different applications, independent of their domain or implementation. Five of these patterns are near-universal and appear in at least five of the six applications studied. Notably, three of these archetypes are present in all six applications, and together, these common patterns account for 56.4% of all observed paths. Each archetype maps to specific resource profiles and optimization strategies that transfer across domains. Second, we leverage these archetypes within a multi-signal regression detection framework that triangulates path structure, resource consumption, and archetype deviations, achieving an F1-score of 0.867 and a 60.4% improvement over resource-only methods.

Tue 15 SeptPerformance
The gist
Measuring how fast software runs is tricky because just looking at the code isn’t enough. The authors show that many performance issues come from how the program actually runs, including which parts take the most time and use resources. They found 13 common performance patterns shared across different programs. Using these patterns helps spot when software is slowing down, almost 60% better than looking at resource use alone.
Open → 2609.17179v1

Bayesian optimisation improves speed using local Gaussian process experts

Bayesian Optimisation Using Product-of-Experts Gaussian Process Models with Uncertainty Calibration

Abstract: Bayesian optimisation (BO) typically relies on a single global Gaussian process (GP) model as its surrogate model. However, GP regression has cubic computational complexity in the number of training data points, limiting its applicability to large-scale optimisation problems. The product-of-experts Gaussian process model with uncertainty calibration (GP-pro-c) mitigates this limitation by combining multiple local GP experts, enabling improved uncertainty quantification, reduced computational cost, and preservation of global correlations. Despite these desirable properties, the use of GP-pro-c in BO has not been thoroughly studied. This paper introduces BO-pro-c, a Bayesian optimisation algorithm that uses GP-pro-c as its surrogate model, and evaluate its performance across a diverse range of BO settings. Experimental results suggest that BO-pro-c maintains competitive optimisation performance while achieving a 0.9% reduction in simple regret and a 39.4% reduction in computational overhead relative to a BO algorithm based on a single global GP model.

Mon 14 SeptMachine Learning
The gist
Bayesian optimisation is a method to find the best solution to a problem by trying different options and learning from them. Normally, it uses one big model that becomes slow when there’s a lot of data. The authors propose using many smaller models that each look at part of the data and work together to make decisions. This approach keeps good accuracy while running faster, making it better for big problems.
Open → 2609.15555v1