English

Mapping Out the HPC Dependency Chaos

Software Engineering 2022-11-14 v2 Mathematical Software

Abstract

High Performance Computing~(HPC) software stacks have become complex, with the dependencies of some applications numbering in the hundreds. Packaging, distributing, and administering software stacks of that scale is a complex undertaking anywhere. HPC systems deal with esoteric compilers, hardware, and a panoply of uncommon combinations. In this paper, we explore the mechanisms available for packaging software to find its own dependencies in the context of a taxonomy of software distribution, and discuss their benefits and pitfalls. We discuss workarounds for some common problems caused by using these composed stacks and introduce Shrinkwrap: A solution to producing binaries that directly load their dependencies from precise locations and in a precise order. Beyond simplifying the use of the binaries, this approach also speeds up loading as much as 7x for a large dynamically-linked MPI application in our evaluation.

Keywords

Cite

@article{arxiv.2211.05118,
  title  = {Mapping Out the HPC Dependency Chaos},
  author = {Farid Zakaria and Thomas R. W. Scogland and Todd Gamblin and Carlos Maltzahn},
  journal= {arXiv preprint arXiv:2211.05118},
  year   = {2022}
}

Comments

Presented at SuperComputing 2022 (https://sc22.supercomputing.org/program/)

R2 v1 2026-06-28T05:32:39.098Z