ProTHPC

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.


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 are modules that can be booked separately. Please note that there is a limited number of participants for each module.

  • First Day: Linux and Shell Scripting & 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: 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.


Registration

Participating Universities