An introduction to the xSDK, a community of diverse numerical HPC software packages
Ulrike Yang
xSDK Developers
10.6084/m9.figshare.7779452.v1
https://figshare.com/articles/presentation/An_introduction_to_the_xSDK_a_community_of_diverse_numerical_HPC_software_packages/7779452
<p>Extreme-scale computational science increasingly demands
multiscale and multiphysics formulations, which in turn require many
high-quality, robust, portable high-performance math libraries. However,
without coordination, many libraries cannot be easily composed. The
Extreme-scale Scientific Software Development Kit (xSDK) provides infrastructure
for a collection of related and complementary software elements—developed by
diverse, independent teams throughout the HPC community—that provide the
building blocks, tools, models, processes, and related artifacts for rapid and
efficient development of high-quality applications. </p>
<p> </p>
<p>This tutorial describes the development of the xSDK,
while at the same time providing motivation and process for the general
development of a software development kit. We discuss community policies
that were defined to achieve improved code quality and compatibility across
independently developed packages. We describe how to be included into the
xSDK and the release process. Each software package is integrated into the xSDK
using the Spack package manager. We describe the integration process
together with common packaging workflows.
We also provide some lessons learned by member package software
developers on how to achieve xSDK compatibility as well as on the use of the
xSDK in applications. Finally, we provide information on
capabilities and usage of some of these libraries.</p>
2019-02-27 19:02:54
xSDK
Computer Software
Open Software
Mathematical Software
Distributed Computing