Productivity, Performance, and Portability for Scientific Computing with Continuous Integration, Containers, and Build Systems, Part I
Event TypeMinisymposium
CS and Math
Emerging Applications
Chemistry and Materials
Climate and Weather
Solid Earth Dynamics
Life Sciences
Engineering
TimeThursday, 8 July 202111:00 - 13:00 CEST
LocationJean-Jacques Rousseau
DescriptionNowadays the complexity of scientific computing in conjugation with the hardware complexity has become significant. On one side, scientific software applications require several dependencies for their compilation. On the other side, users and developers of scientific applications target a wide range of diverse computing platforms, such as their laptops to supercomputers. This complexity poses challenges during the entire workflow of the applications. We can distinguish at least five critical areas:
1) applications building, including all dependencies;
2) testing during the application development with Continuous Integration (CI) and automated build and testing techniques;
3) deployment of the applications via Continuous Deployment (CD) techniques;
4) packaging of the applications with dependencies for easy user-level installation and productivity;
5) software performance portability.
The challenge in High Performance Computing is to develop techniques that allow maximizing the three software applications characteristics: productivity, performance, and portability for the five areas aforementioned. In this Minisymposium researchers and developers will discuss their successes and failures concerning this challenge. This is split into two sessions, each of two hours. The first session will cover the building tools and CI/CD techniques, while the second session focuses on packaging applications and performance portability.
1) applications building, including all dependencies;
2) testing during the application development with Continuous Integration (CI) and automated build and testing techniques;
3) deployment of the applications via Continuous Deployment (CD) techniques;
4) packaging of the applications with dependencies for easy user-level installation and productivity;
5) software performance portability.
The challenge in High Performance Computing is to develop techniques that allow maximizing the three software applications characteristics: productivity, performance, and portability for the five areas aforementioned. In this Minisymposium researchers and developers will discuss their successes and failures concerning this challenge. This is split into two sessions, each of two hours. The first session will cover the building tools and CI/CD techniques, while the second session focuses on packaging applications and performance portability.
Presentations
11:00 - 11:30 CEST | Deploying HPC Software with Spack | |
11:30 - 12:00 CEST | Developing HPC Software with Spack | |
12:00 - 12:30 CEST | Deploying Scientific Software at Scale and Enabling Continuous Testing of HPC Systems | |
12:30 - 13:00 CEST | Building Community through xSDK Software Policies |