Introduction to High Performance Computing for Life Scientists

Key Points

Welcome
  • We should all understand and follow the ARCHER2 Code of Conduct to ensure this course is conducted in the best teaching environment.

  • The course will be flexible to best meet the learning needs of the attendees.

  • Feedback is an essential part of our training to allow us to continue to improve and make sure the course is as useful as possible to attendees.

Who we are: Introducing BioExcel, PRACE, and EPCC training
  • To be determined

LECTURE: High-Performance Computing (HPC)
  • Computer clusters enable users to run larger, more complex jobs in a reasonable time

  • HPC systems are state-of-the-art clusters composed of a large number of powerful computers linked by very fast interconnects.

PRACTICAL: Connecting to ARCHER2 and transferring data
  • ARCHER2’s login address is login.archer2.ac.uk.

  • The password policy for ARCHER2 is well documented.

  • There are a number of ways to transfer data to/from ARCHER2.

LECTURE: HPC Architectures [pre-recorded]
PRACTICAL: Overview of the ARCHER2 system and modules
  • ARCHER2 consists of high performance login nodes, compute nodes, storage systems and interconnect.

  • There is a wide range of software available on ARCHER2.

  • The system is based on standard Linux with command line access.

  • Software is available through modules.

LECTURE: Batch systems and parallel application launchers [pre-recorded]
PRACTICAL: Batch Systems and ARCHER2 Slurm Scheduler
  • ARCHER2 uses the Slurm scheduler.

  • srun is used to launch parallel executables in batch job submission scripts.

  • There are a number of different partitions (queues) available.

LECTURE: Parallel Computing Patterns
PRACTICAL: HMMER (1 of 2)
  • To run an application in parallel we should understand how it uses threads and/or MPI and how the scheduler and parallel application launcher interact

  • Looking at parallel performance can tell us the most efficient way to run software to get a fast answer

REVIEW: Review of Day 1
Welcome
LECTURE: Measuring Parallel Performance
  • As the number of cores are increased, performance rarely scales linearly.

  • Scalibility changes as the size and complexity of the system is changed.

  • Scalibility can be meaningless if the work load is not distributed evenly among processors.

PRACTICAL: HMMER (2 of 2)
  • Looking at parallel efficiency can help you make best use of computational resources

LECTURE: Computational Building Blocks: Software
  • Most HPC systems run UNIX or Linux as an OS.

  • Each application is a seperate process; the OS will schedule any process.

  • Threads are sub-processes that compose a process.

LECTURE: Computational Building Blocks: Hardware
  • To be determined

PRACTICAL: Benchmarking Molecular Dynamics Performance Using GROMACS 1
  • Larger systems scale better to large core-/node-counts than smaller systems.

LECTURE: Parallel Programming Models
  • To be determined

PRACTICAL: Benchmarking Molecular Dynamics Using GROMACS 2
  • Hybrid MPI with OpenMP does affect performance.

  • When running hybrid jobs, placement across NUMA regions is important.

LECTURE: Compiling software: from source code to executable
REVIEW: Review of Day 2
Welcome
PRACTICAL: Benchmarking Molecular Dynamics Using GROMACS 3
LECTURE: Pipelines and Workflows
PRACTICAL: QM/MM simulations with CP2K
  • It can be benefical to the performance to use MPI+OpenMP

LECTURE: The future of HPC
PRACTICAL: QM/MM Simulations Using CP2K 2
  • It can be benefical to the performance to use MPI+OpenMP

LECTURE: The HPC landscape in the EU and UK
  • You can find more about the state of HPC in the UK here

  • You can learn more about HPC facilities across Europe on the PRACE and EuroHPC websites

REVIEW: Course review and where next?