Advanced Research Computing


CIUK Cluster Challenge Training Resources

Unix command line

ARC offers an introductory self-paced Moodle course aimed at those wishing to familiarise themselves with the Unix operating system and to learn a few basic commands. You will need at least this level of familiarity in order to participate in the student cluster challenge so we recommend that you work through the course in your own time if you have no command-line skills.

HPC skills

ARC offers the following course to give you a basic knowledge of cluster computing:

This self-paced course (with clinic afterwards to ask questions) introduces the essential things you'll need to know in order to access UCL's research computing clusters, use the command line, transfer files, load pre-installed software packages using environment modules, and submit jobs on the cluster using a scheduler. 

It is essential that you do this course if you have never used an HPC cluster before. You will need to register for a Myriad account which you can do using the Research Computing account services web form. Please fill in the request as soon as you register for the Moodle course as it can take a couple of days for accounts to be activated.

Optional courses

Python programming

If you don't have any programming experience, we recommend the following self-paced Moodle training, which introduces fundamental programming concepts:

Parallel Programming

The ARC Introduction to HPC Moodle course (see above) introduces the concept of parallel programming using MPI, but if you've already taken the Introduction to High Performance Computing at UCL course or have existing HPC experience and are keen to learn more, ARCHER2 run regular HPC courses throughout the year, including Shared memory programming with OpenMP - the next course is running on 28 - 29 September 2023 10:00 - 17:00 BST at Imperial College London. 

OpenMP is the industry standard for shared-memory programming, which enables serial programs to be parallelised easily using compiler directives. Users of desktop machines can use OpenMP on its own to improve program performance by running on multiple cores; users of parallel supercomputers can use OpenMP in conjunction with MPI to better exploit the shared-memory capabilities of the compute nodes.