ProTHPC - Proficiency Training High Performance Computing

The Proficiency Training High Performance Computing consists of short courses which offer researchers and students in academia an introduction to respective topics promoting efficient and successful work in the context of HPC.  ProTHPC takes place multiple times a year at the HKHLR member universities of Hessen (Darmstadt, Frankfurt, Gießen, Kassel, Marburg).

The topics are aligned to the skill tree of the HPC certification forum.

The courses of the program can be booked separately. Please note that there is a limited number of participants for each module.

  • First Day: Linux and Shell Scripting – Quick Access to HPC Systems & Batch Job Scheduling
  • Second Day: Linux Software Build Process & Version Control with GIT
  • Third Day: Parallel Debugging with TotalView

All  courses consist of lectures, supplemented with practical exercises. Please bring your own laptop. The courses will be held in English.

ProTHPC is free of charge, participants organize their own refreshments during breaks.

See the flyer for a detailed location description.

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 parties. 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:

Detailed description

Monday, November 4, 2019

Linux and Shell Scripting – Quick Access to HPC Systems
10:00-13:30 JLU Gießen, HRZ, Room 1

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.

HPC Skill Tree: USE1-B

Level: basic - intermediate

Batch Job Scheduling
14:30-17:00 JLU Gießen, HRZ, Room 1

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.

HPC Skill Tree: K4-B

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.

Tuesday, November 5, 2019

Linux Software Build Process
10:00-13:00 JLU Gießen, IFZ, B302

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.

HPC Skill Tree: USE3-B

Level: intermediate - advanced

Version Control with GIT
14:00-17:00 JLU Gießen, IFZ, B202

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)

HPC Skill Tree: SD3.2-B

Level: basic - intermediate

Wednesday, November 6, 2019

Debugging with TotalView
10:00-13:00 JLU Gießen, HRZ, Room 1
14:00-17:00 JLU Gießen, IFZ, B202

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.

HPC Skill Tree: SD2.2-B

Level: intermediate - advanced


Workshop Registration


Participating Universities