Todd Gamblin
LLNL
Livermore Computing
SRP Project Title
Spack at LLNL
HPSF Project
Spack
Topical Areas
Applied Computer Science; Applied Mathematics; Artificial Intelligence and Intelligent Systems; Computer Science; High Performance Computing; Open Source Software; Software Engineering
Abstract
Depending on experience and interest, we will develop a project dealing with the open source Spack package manager (https://github.com/spack/spack) or the Spack package ecosystem (https://github.com/spack/spack-packages). Spack has become the de-facto package management tool for High Performance Computing, an area where software complexity is constantly rising. Spack helps users build, install, and manage software on laptops, desktops, and supercomputers. With over 1,500 contributors and over 8,500 package recipes, Spak provides a valuable resource for HPC users around the world. Example projects would include new core features for Spack, including terminal UI improvements, performance improvements, or enhancements to Spack's solver or other capabilities. Projects could also focus on package recipe improvements, e.g. improvements to AI packages or GPU support, improvements to Spack's continuous integration system. We can tailor the project to the applicant's experience and interest. On this project, you’ll learn more about the core of Spack, how it builds software, and how large software ecosystems are sustained through community effort.
Desired Skills
For core Spack projects, we expect experience with Python and some Linux systems programming. An ideal candidate will have at least some experience with building and installing software, especially with build systems like CMake and Autotools. Low-level systems experience, e.g. UNIX process control, file I/O, and performance profiling are a plus. Experience with performance optimization and with using package managers, Spack or otherwise, are a plus.