Interoperability Approach

While porting of individual scientific software products is challenging, achieving interoperability between packages is even more difficult. E4S uses a dual-pronged approach for achieving software interoperability: Spack and SDKs.

  • Spack: E4S uses the Spack packages manager for software delivery. Spack provides the ability to specify versions of software packages that are and are not interoperable. It is also a common build layer to not only E4S software, but also an enormous number of software packages that satisfy dependencies for the primary E4S products.
  • Software Development Kits (SDKs): A Software Development Kit is a collection of related software products where coordination across package teams will improve usability and practices, and foster community growth among teams that develop similar and complementary capabilities. An SDK is more of a project than a product, although it involves several products. It can also be considered as an association of products and product teams. The activities that take place inside an SDK promote interoperability (where appropriate and logical) between products. One key SDK is the Extreme-Scale Scientific Software Development Kit (xSDK), a collection of GPU-enabled scientific libraries for HPC-AI applications.

Distribution

E4S is open source software published under the MIT License. E4S can be redistributed and modified under the terms of this license. E4S packages each have their own open source license.

Contacts

Michael A. Heroux

Project Leader

Sameer Shende

E4S Lead

James Willenbring

SDK Lead