ProTHPC - Proficiency Training High Performance Computing
Attention! Update March 11, 2020: Due to the current risk of infection with the SARS-CoV-2 virus and the related travel restrictions declared by several universities, HKHLR has decided to cancel the course. Instead, it will be held as a webinar.
You can participate in the webinar with your web browser:
https://conf.dfn.de/webapp/conference/97911336
No formal registration is necessary. If you want to participate, write an email to office@hpc-hessen.de, to obtain the PIN number.
If you log into the conference, please state you full name and affiliation as user name!
The modules will be held at slightly modified times, that is:
- 16.3. 10:00-12:00 Linux and Shell Scripting – Quick Access to HPC Systems
- 16.3. 14:00-16:00 Batch Job Scheduling
- 17.3. 10:00-13:00 Linux Software Build Process
- 17.3. 14:00-17:00 Version Control with GIT
- 18.3. 10:00-12:00, 13:00-15:00 Debugging with TotalView
Since we are doing this on very short notice, the webinars are experimental by nature. Thus, hiccups and problems should be expected. We will not have the time to prepare the material especially for a webinar. Instead, we will reduce the content, shorten the amount of hands-on material, and focus on one-way presentations.
During the webinar, staff members of HKHLR will be present, so that you can ask questions during the course. The length of each module is not fixed, but will rather depend on the progress. We expect to shorten each module for this format.
What you need:
A good internet connection to support a life-stream and ideally some headphones to listen to our presentations.
For the modules Linux, Build Process and Version Control you need to have a computer with Linux installed available.
For the modules Job Scheduling, Debugging you need an account on one of the Hessian university HPC clusters (Lichtenberg, Goethe-HLR, MarC2, Linux Cluster Kassel, Skylla). If you are located at Uni Kassel, you can get such on account on short notice by contacting niko.luke@hpc-hessen.de.
Das Proficiency Training High Performance Computing besteht aus Kurzkursen, die Forschern und Studenten im akademischen Bereich eine Einführung in die jeweiligen Themenbereiche bieten, die ein effizientes und erfolgreiches Arbeiten im Kontext von HPC fördern. ProTHPC findet mehrmals im Jahr an den hessischen Mitgliedsuniversitäten der HKHLR (Darmstadt, Frankfurt, Gießen, Kassel, Marburg) statt.
Die Themen orientieren sich am Skill-Tree des HPC-Zertifizierungsforums.
Die Kurse des Programms sind Module, die einzeln gebucht werden können. Bitte beachten Sie, dass die Teilnehmerzahl pro Modul begrenzt ist.
- Erster Tag: Linux und Shell-Scripting & Batch-Job-Scheduling
- Zweiter Tag: Linux Software Build Prozess & Versionskontrolle mit GIT
- Dritter Tag: Paralleles Debugging mit TotalView
Alle Kurse bestehen aus Vorträgen, ergänzt durch praktische Übungen. Bitte bringen Sie Ihren eigenen Laptop mit. Die Kurse werden in Englisch abgehalten.
ProTHPC ist kostenlos, die Teilnehmer organisieren ihre eigenen Erfrischungen in den Pausen.
Eine detaillierte Beschreibung der Veranstaltungsorte finden Sie im Flyer.
Bitte lesen Sie die detaillierten Informationen zu den gewünschten Modulen, die Sie buchen möchten!
Die Anmeldung ist verbindlich. Mit Ihrer Anmeldung nutzen wir Ihre Kontaktdaten aus organisatorischen Gründen:
- um Sie über Details des Workshops zu informieren
- über Änderungen der Agenda
- und um mit Ihnen in Kontakt zu treten, damit Sie uns ein Feedback zum Workshop geben können (Auswertung).
Die Daten werden nicht an Dritte weitergegeben. Die persönlichen Daten werden zwei Monate nach Beendigung des Workshops gelöscht. Wir werten die Daten statistisch aus, um unseren Service für Ihre Forschung zu verbessern. Bei weiteren Fragen wenden Sie sich bitte an: office@hpc-hessen.de.
Detailed description
Monday, March 16, 2020
10:00-13:30 Linux and Shell Scripting – Quick Access to HPC Systems
Level: basic - intermediate
HPC Skill Tree: USE1-B
This course is an introduction to the Linux command line interface, as found on most HPC systems.
It covers the basics of the command line as well as the fundamentals of shell scripting and prepares their use for the automation and organization of complex workloads in order to enable an easy usage of HPC Systems.
14:30-17:00 Batch Job Scheduling
Level: basic - advanced. Adapted exercises offer opportunities for knowledge enhancement at all levels. As job scheduling makes use of shell scripting, it is recommended to attend the course introduction into Linux and shell scripting in the morning as well.
HPC Skill Tree: K4-B
The resources of HPC Systems are managed by a scheduler, therefore the understanding of the scheduling system is critical to appropriately use HPC systems. This course gives an introduction to the concept of batch job scheduling and its usage to achieve maximum resource utilization. The concepts are illustrated using the Slurm scheduler.
Tuesday, March 17, 2020
10:00-13:00 Linux Software Build Process
Level: intermediate - advanced
HPC Skill Tree: USE3-B
We introduce the basics of building software in the Linux command line environment, which is common on HPC systems. You will learn how to build your own applications with the Linux make system. The basic use of compilers (compiler flags, optimization, linking to libraries, using a pre-processor, generating serial and parallel code, …) will be covered as well the automation of the build process using make-files (setting variables, targets, dependencies, linking, ...). We will discuss basic principles of automated build systems using configure files as found in many open source applications.
14:00-17:00 Version Control with GIT
Level: basic - intermediate
HPC Skill Tree: SD3.2-B
We present the distributed version control system Git, which is well established in the Linux community. Git can be used not only for large projects - such as kernel development - but also for working together on smaller projects or for versioning your own projects
The following topics are covered:
● Explanation of key concepts (snapshots, commits, repositories)
● Prerequisites (install, config, create repository)
● Basic commands (status, add, commit, clone, push, pull, remote)
● Branching (create, rename, delete, switch, update & merge branches)
● Typical workflow concepts for branching
● Dealing with merge conflicts
● Useful add-ons (stash, log, gitignore, worktree)
Wednesday, March 18, 2020
10:00-17:00 Debugging with TotalView
Level: intermediate - advanced
HPC Skill Tree: SD2.2-B
Debugging is an essential part of software development and application. The advantages of a debugger compared to "printf-debugging" are often underappreciated. TotalView is a powerful tool which helps to find "sophisticated bugs" in parallel jobs quickly, but is also a helpful and timesaving tool for small problems.
TotalView is installed on all Hessian HPC clusters, and is available for all Hessian researchers.
This course will introduce the basics of debugging and in-depth training on the use of the TotalView debugger. TotalView, in contrast to many free debuggers explicitly supports debugging of parallel applications. This course covers the basic steps of session preparation, processing of core dump files and attaching to a hung process using the TotalView debugger. Advanced techniques covered are reverse debugging and parallel debugging.