ProTHPC - Proficiency Training High Performance Computing
ProTHPC is the abbreviation for "Proficiency Training High Performance Computing" and stands for short training units which offer a quick introduction to the respective topics promoting efficient and successful work in the context of HPC.
ProTHPC takes place at least once a year in southern Hesse (Frankfurt or Darmstadt) and in central or north Hesse (Giessen, Marburg, or Kassel). Covering thefollowing topics:
- First Day: Linux and shell scripting – quick access to HPC systems
- Second Day: Training course on the Linux software build process, and introduction to version control with Git
- Third Day: Training course on the TotalView debugger
Before registering: Please read the detailed information about the modules you like to book!
The registration is binding. With your registration, we will use your contact information for organizational reasons:
- to inform you about workshop details,
- about agenda changes, and
- to contact you, in order to give us feedback about the workshop (evaluation)
The data will not be transferred to third paties. The personal data will be deleted two months after the closing of the workshop. We evaluate the data statistically to improve our service for your research. For further questions, please contact: office@hpc-hessen.de.
Detailed description:
First Day (Monday, June 24)
10:00-13:30
Linux and Shell Scripting – Quick Access to HPC Systems
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.
(Level: basic - intermediate)
14:30-17:00
Introduction to Batch Job Scheduling
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.
(Level: basic - advanced. Adapted exercises offer opportunities for knowledge enhance-ment 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.)
Second Day (Tuesday, June 25)
10:00-13:00
Training course on the Linux software build process
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 librar-ies, using a preprocessor, 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.
(Level: intermediate - advanced)
14:00-17:00
Introduction to Version Control with GIT
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
● Cool add-ons (stash, log, gitignore, worktree)
(Level: basic - intermediate)
Third Day (Wednesday, June 26):
10:00-17:00
Training course on the TotalView debugger
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.
(Level: intermediate - advanced)
You can book each course by its own.
ProtHPC is free of charge, participants organize their
own refreshments during breaks.
Registration
ProtHPC is free of charge, participants organize their
own refreshments during breaks.