The goal of the xSDK is to provide the foundation of this extensible scientific software ecosystem. The first xSDK release (in April 2016) demonstrated the impact of defining draft xSDK community policies to simplify the combined use and portability of independently developed software packages. The xSDK releases have continued to attract more participating libraries. The latest release includes hypre, MAGMA, MFEM, PETSc/TAO, SUNDIALS, SuperLU, and Trilinos. Releases also lay the groundwork for addressing broader issues in software interoperability and performance portability. This work is especially important as emerging extreme-scale architectures provide unprecedented resources for more complex computational science and engineering simulations, yet the current era of disruptive architectural changes requires refactoring and enhancing software packages in order to effectively use these machines for scientific discovery.
Our goal is to make the xSDK a turnkey and standard software ecosystem that is easily installed on common computing platforms, and can be assumed as available on any leadership computing system in the same way that BLAS and LAPACK are available today. The capabilities in the xSDK are essential for the next generation of multiscale and multiphysics applications, where the libraries and components in the xSDK must compile, link, and interoperate from within a single executable.