View on GitHub

Workflow for HPC

Materials for a training on workflow tools and best practices for HPC.

Running a job on an HPC system is typically not that hard, but executing a non-trivial workflow that involves both data movement and various computations is not so trivial. In this training you will get an overview of tools that can help you to efficiently and conveniently run workflows on supercomputers.

Learning outcomes

When you complete this training you will

Schedule

Total duration: 3 hours

Subject Duration
Introduction and motivation 5 min
Scheduling tasks on a login node 10 min
Scheduling tasks with Slurm 10 min
Slurm job dependencies 15 min
Checkpointing and restarting jobs 15 min
Slurm job arrays 20 min
atools 20 min
Nextflow workflows 40 min
Wrap-up 5 min

Training materials

Slides are available in the GitHub repository, as well as example code and hands-on material.

Target audience

Anyone who wants to run non-trivial workflows on HPC systems.

Prerequisites

You should be familiar with the basics of running jobs on an HPC system and know your way around the command line. You should also be familiar with the basics of the Slurm job scheduler.

More concretely, participants should already be comfortable with the following:

Familiarity with simple Python scripts is helpful, but not strictly required. You do not need prior experience with Slurm job dependencies, job arrays, checkpoint/restart workflows, atools, worker-ng, Nextflow, or Snakemake. Those are part of the training itself.

Quick self-assessment

If you can do most of the tasks below without looking up basic shell or Slurm syntax, you are likely ready for this training.

If several of these items still feel difficult, the training will probably move too fast. In that case, it is better to first take a short introduction to Linux command-line use and basic Slurm job submission.

Software and access requirements

For following along hands-on, you need

Level of the Material

For participants who already have basic HPC and Slurm experience, the material in this training is approximately

These percentages describe the level of the workflow-management topics covered in the training, not the required entry level in shell usage or HPC job submission.

Trainer(s)