Acceleration as a Service (XaaS) Source Containers
Department of Computer Science, ETH Zürich
ETH Zurich, 2025
In this thesis, we address the challenge of performance portability in heterogeneous computing environments. Performance portability refers to the ability of an application to maintain high performance on multiple platforms without requiring extensive manual tuning for each system. Traditional containers fall short in this regard as they prioritize portability at the expense of architecture-specific optimizations. To bridge this gap, we introduce Acceleration as a Service (XaaS) Source Containers, a new approach that packages High-Performance Computing (HPC) applications as source code and generates build configurations tailored to the target system at deployment time. We identify key specialization points across nine representative HPC applications and develop a containerization framework that automatically extracts and applies system-optimized configurations during the build phase. To automate this process, we integrate Large Language Models (LLMs) for build system analysis and for the extraction and selection of specialization flags. As part of our design, we analyze the HPC compilation stack and determine that the build layer offers the best trade-off between flexibility and performance for implementing XaaS source containers. We evaluate our approach using GROMACS and llama.cpp on three HPC systems, demonstrating that XaaS source containers can match the performance of both manually optimized and Spack-based builds while preserving portability. While effective, our results also reveal that the LLM prompt for extracting specialization points does not generalize well to unseen applications, indicating that fine-tuning and broader application support are promising directions for future work.
June 8, 2025 by hgpu