Skip to main content

Winter 2022 Training Courses now open

Alex Coleman

Category
Training
Date

Places are now available for upcoming Research Computing training courses, sign up now!

We’re pleased to offer more spaces on upcoming Research Computing training courses. See below for a range of exciting courses we’re running including the new and improved SWD6: High performance python and HPC2: Installing and managing applications on the HPC.

HPC0: Introduction to Linux (Online)

  • Tuesday 4th October 9am-12pm
  • Tuesday 8th November 9am-12pm

Booking for this course is through the IT Training Unit. Click here to book

This is a hands-on workshop intended as an introduction to the Linux command line and shell scripting. It is suitable for Linux, Unix and Mac OSX users. The purpose of the workshop is to give users the Linux skills to be able to handle data and files, run programs and automate workflows on a PC and on the HPC service. The content of this workshop is equally suited for people who wish to use command line Linux on a PC, in the Cloud or on a HPC platform. New and prospective HPC users are advised to take this workshop before taking the HPC1: Introduction to High Performance Computing at Leeds workshop.

HPC1: HPC Carpentry (Online), 2 parts

  • Part 1 - Tuesday 11th October 9am-12pm, Part 2 - Tuesday 18th October 9am-12pm
  • Part 1 - Tuesday 15th November 9am-12pm, Part 2 - Tuesday 22nd November 9am-12pm

Booking for this course is through the IT Training Unit. Click here to book

This workshop is designed to introduce new users to the High Performance Computing (HPC) service at Leeds. It will be useful if you are new to HPC in research or have used HPC elsewhere. It is suitable for researchers from all faculties and examples will be given from a range of research domains. The purpose of the workshop is to give users the skills to be an effective user of the HPC service and to get codes and applications running effectively. This course is split over two sessions a week apart, please do not apply for this course unless you are able to attend ALL the sessions.

SWD1a: Introduction to Python programming (In person)

  • Monday 24th October 10am-4pm

Booking for this course is through the IT Training Unit. Click here to book

This is an introduction to programming in Python for people with little or no previous programming experience. It uses plotting and visualising data as its motivating example based on an established research dataset. The course is suitable for attendees from all research domains and we will use a Web based programming environment (a Jupyter Notebook) which means you will be able to apply the ideas you learn on the course straightaway without having to install any software at home or at work.

At the end of the workshop, attendees will be able to:

  • How to run Python programs
  • Storing data in computer programs (using variables and data types)
  • Using built in functions in programs
  • Avoiding and fixing errors in programs
  • Using software other people have written (libraries)
  • Reading tabular data and simple statistical analysis
  • Plotting data
  • Storing multiple values using lists
  • Repeating things using LOOPS
  • Creating functions
  • Making programs do different things for different data (Conditionals: IF statements)
  • Writing simple tests: making sure our programs behave properly
  • Programming style

SWD6: High Performance Python (In person)

  • Wednesday 2nd November 10am-4pm

Booking for this course is through the IT Training Unit. Click here to book

Over the past few years, Python and the wider Python ecosystem have become invaluable tools in scientific computing and data analytics. As Python is (for the most part) an interpreted language there are complaints that Python code can be quite slow to execute. In this hands-on workshop you will have the opportunity discover and use a set of tools and techniques that can be used to improve the execution speed of your Python code. The workshop will introduce a number of ways to both measure the efficiency of your code and improve its speed of execution by introducing strategies for fast and scalable computation with Python.

At the end of this workshop, learners will be able to:

  1. Understand how to profile Python code and identify bottlenecks
  2. Understand how to choose the most appropriate data structure, algorithm, and libraries for a problem
  3. Improve the execution time of Python code using:
  1. Understand when to use each technique

N.B. This course has recently been updated and course contents may change at the time of delivery.

HPC2: Installing and Managing Applications on the HPC (online), 2 parts

  • Part 1 - Thursday 24th November 9.30am-12.30pm, Part 2 - Thursday 1st December 9.30am-12.30pm

Booking for this course is through the IT Training Unit. Click here to book

The purpose of the workshop is to introduce the application development environment available on the HPC service and give hands on practice managing, installing and compiling codes on the HPC service. This workshop will be most useful for researchers who need to manage and install their own applications and research codes. This workshop builds on the skills developed on the HPC 1: Introduction to High Performance Computing at Leeds workshop. No previous experience of compiling or managing code is expected, although experience with the Linux command line and some programming experience would be very useful. It is not an introductory programming workshop (see workshops SWD1a: Introduction to Python programming, SWD1b: Introduction to R programming if that is what you need).

At the end of this workshop, learners will be able to:

  • Understand what an executable is
  • Understand the how filesystem configuration and environment variables relate to software
  • Develop hands on experience with:
    • Building software using GNU Autotools
    • Using Spack package manager
    • Using Conda package manager
    • Building software using CMake
    • Interacting and using Singularity/Apptainer containers

Author

Alex Coleman

Research Software Engineer