HPC and Scalable Programming


This 3 day residential DISCnet event, given by Jascha Schewtschenko (Portsmouth), will cover the details of High-Performance Computing and Scalable Programming. The course runs 27-29th May at the University of Portsmouth.

Aims & Objectives

The module introduces high performance computing (HPC), high-throughput computing (HTC), parallel computing, and cloud computing. Using SCIAMA supercomputer access, students will work with real-world applications / simulation codes to familiarize them with the techniques applied.

Each day will be split into morning lectures, which will introduce the concepts of HPC and parallel computing, while in the afternoon, we will run a workshop, where students will be provided with specific ‘hands-on’ training of how to use SCIAMA (ICG supercomputer), and how to begin applying their knowledge. The morning session will be split up into two lectures while the afternoon session will consist of tutorials. Students can work in teams during the practicals.

Day 1: Hardware

Topics covered include: basics of multi-core and multi-processor machines; overview of different architectures (cloud computing, clusters, supercomputers, GPU farms); importance of networks for data-intensive tasks; basics of shared and distributed memory/ multithreading & multiprocessing ; basics of login, modules, working with schedulers (e.g. submission of jobs). 


In the afternoon there will be a hands-on workshop with SCIAMA as a specific example of HPC hardware; we will cover login and submitting/running code (e.g. CosmoMC or Gadget2).

Day 2: Data Processing

Topics covered include: Basics of code development e.g. parallel decomposition, multi-threading; difference between “embarrassingly parallel” processing and shared memory; basic programming environments (MPI, OpenMP).


In the afternoon we will have a tutorial workshop on MPI / OpenMP on SCIAMA, and there will be an early evening lab on parallelizing  your own code (assistance provided) or a brief challenge.

Day 3: Data Storage

Topics covered include: Introduction to storage (NFS, GFS) and databases (e.g. SQL); Hadoop, Apache Spark.


In the afternoon there will be a hands-on workshop with Hadoop and Apache Spark.

Learning & Teaching Resources / links / background reading



Examples will be provided during the course.

Prerequisites / Linked Modules

Laptop  with ssh client (e.g. Putty on Windows) [, remote desktop software (X2Go) / Xserver (optional)]

Basic Programming Skills (C/C++, Fortran), no prior knowledge on HPC techniques (e.g. MPI) required

Approximate number of hours:

Taught material + exercises + self-study: 24 hours

© 2020, DISCnet            DISCnet is the Data Intensive Science Centre in SEPnet, and an STFC Centre for Doctoral Training;  a collaboration between

the Universities of Southampton, Sussex, Portsmouth, Queen Mary University of London, and Open University