All right.
Then I'm going to introduce our guests.
You know that we had a little series of talks in the HPC Cafe about software development,
starting with an introduction to Git and some advanced Git techniques.
And today we have guest speakers from the Karlsruhe Institute of Technology, Git, Jennifer
Bukmüller and Thierry Cogent, who will tell us about continuous integration, continuous
benchmarking and continuous deployment in an HPC environment.
If you know HPC in Germany, you know that Karlsruhe has a long history of high performance
computing running systems, developing software.
So these guys know what they're talking about.
And we are very much looking forward to your presentation, Jennifer and Thierry.
Go ahead.
Okay.
Thank you very much.
Also for this kind introduction.
So add in full screen.
Oh, perfect.
Okay.
So, yeah, thank you very much also for the introduction to take part of this cafe, because
also you mentioned in those COVID kind of days, having this interaction and also talk
and discuss things without coffee in your hands getting pretty hard there.
But I think it's good to have some kind of interaction there and to exchange your experiences.
And also it's I think NHR as we started or getting started in Germany, I'm quite happy
that sustainable software development is a very important topic.
It was the topic not only from KIT, but also colleagues from Erlang and we have this very
strong point in common.
And I'm happy that we have one project.
We named it continuous access, it stands for continuous integration, deployment, testing,
but also benchmarking HPC systems.
So in the next 15 minutes, I will give you a rough tour what we have done so far at KIT
and we want extended in NHR.
And on this very first slide, you can see some glances of our new tier two system, Hureka,
that is currently set up and we fingers crossed, we hope to get there in the top 10 of Europe
in the top 500 in the next couple of days.
So we will see how that goes.
Some words about myself, I'm head of the department and the HPC core facility leader in the scope
of NHR, but also at KIT we have a tier three system.
And my department is also responsible for software packages and scientific operations.
But from my point of view, one of our key focus topics is performance optimization as
well as sustainable software development.
And here you can again see the strong point of continuous testing, integration and deployment
as a service so that we are able to set up an infrastructure that every scientist can
use from the very beginning, but also from the other edge of a very experienced user.
If you have a large community coach, for example, that is set up and getting first steps towards
continuous integration, we have the goal to set up and help developers, scientists and
users to get there to develop a continuous integration strategy.
And here on this slide, I've marked three important goals of continuous integration
or continuous X.
The first thing is if you ask yourself, okay, why should I do those kind of things?
Why should I integrate continuous development in my coach or my workflow?
Presenters
Zugänglich über
Offener Zugang
Dauer
00:37:12 Min
Aufnahmedatum
2021-05-12
Hochgeladen am
2021-05-12 07:56:26
Sprache
en-US
Guest speakers: Jennifer Buchmüller and Terry Cojean (Karlsruhe Institute of Technology)
Abstract:
Most of the representative HPC community codes and infrastructures are made up of large software components developed over long amounts of time by many different developers. Many of them are also still focused on a single type of computing resource, e.g., large clusters with general purpose CPUs built around a very fast interconnect network. A large number of active developers contributing to the same code base increases the probability of new bugs being introduced because not all possible configurations are being tested. This either decreases the quality of the code, or requires significant amounts of human resources to be spent on integration tests before a new release is made. Continuous Integration (CI) can reduce both the amount of time necessary for these tests, as well as provide near instant feedback after bugs that cause build failures have been introduced, by automatically building all possible configurations at given points in time (e.g., after every source code commit). In addition, Continuous Benchmarking (CB) frames not only unified testing but also a continuous benchmark environment. Finally, Continuous Deployment (CD) enables scientists to provide efficient, reliable and sustainable HPC software. We will introduce the operational CI/CB/CD (Cx) service located at KIT. It provides support for automated Cx, workflows on the HPC systems and other systems within the HPC realm, e.g., the Future Technologies Partition (FTP). A detailed description can be found here: https://www.nhr.kit.edu/userdocs/ci/ This is already available for current users of multiple research communities. As an example we will present the Ginkgo library and how it realizes Cx.