Principles of Code Scaling

Self-learning course

Site Updated On: September 09, 2022
For More Info Email: richard.regan@durham.ac.uk
Principles of Code Scaling

General Information

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility:

We are dedicated to providing a positive and accessible learning environment for all. Please get in touch you require any accommodations or if there is anything we can do to make this lesson more accessible to you.

Contact: Please email or richard.regan@durham.ac.uk for more information.


Surveys

Please be sure to complete this survey after the lesson.

Please input the date as the date you started the materials.

Post-Lesson Survey


Lesson Outline


Schedule

1. Introduction to Job Scheduling What is a scheduler and why does a cluster need one?
How do I launch a program to run on a compute node in the cluster?
How do I capture the output of a program that is run on a node in the cluster?
2. Running Example Code on a Cluster How can we get our (or others’) code running on an HPC resource?
3. Understanding Code Scalability What is code scalability?
Why is code scalability important?
How can I measure how long code takes to run?
4. Scalability Profiling How scalable is a particular piece of code?
How can I generate evidence for a code’s scalability?
What does good and bad scalability look like?
5. Survey
Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.


Setup

To participate in this lesson, you will need access to software as described below. In addition, you will need an up-to-date web browser.

The instructions for all the software can be found on the setup page.