Introduction to GPU computing on HPC

Synopsis: Introduces GPU computing, and running GPU jobs on Artemis and other HPC systmes. The University of Sydney’s Artemis HPC hosts several NVIDIA V100 GPUs. This course will help you to understand basic concepts of GPU programming. You will learn fundamentals of basic CUDA code, and write and run examples using C/CUDA, Matlab, and Python. You will undertake practical applications in Deep Learning using Python, Tensorflow, and Keras. You will learn how to set up suitable environemnts on Artemis for GPU-enabled applications to run, and how to run and submit jobs on the Artemis HPC GPU queue.

Target audience: Students and staff who would like to learn how to use GPU enabled code, especially for Artemis HPC. Participants must have a valid USyd unikey.

Follow-on courses: This course is part of the Artemis HPC Training Series.

Acknoledgment ensures the continuation of our services: e.g. This research was supported by the University of Sydney’s, Core Research Facility, Sydney Informatics Hub training program.

Recorded Lesson: You can watch the recorded lesson from May 19, 2020, here: https://cloudstor.aarnet.edu.au/plus/s/itBwYn0OrVDYJx9

Most topics covered here have extra detail in the Artemis guide, get it here.

Prerequisites

Competency on the Unix/Linux command line:

  • If you are interested in getting started in most computing environments but have no Unix/Linux command-line skills, you should first take an Introduction to Unix/Linux course.

OWN LAPTOP REQUIRED.

Course survey!

Please fill out our course survey before you leave!

Help us help you! :smiley:

Schedule

Setup Install software and data needed to begin the lesson
00:00 1. Intro to GPU computing What is a GPU?
How do I get access to a GPU?
GPU or CPU?
How do I develop code for GPU computing?
00:30 2. Writing and running your first GPU program What compiler can you use to build C code?
What compiler can you use to build CUDA code?
00:50 3. Connecting to Artemis HPC What tools can you use to connect to Artemis?
How do you log in to a remote server (HPC)?
01:10 4. Running on HPC How do you set up your folder structure?
How do you compile on Artemis?
01:30 5. Matlab GPU example How can I use GPUs in my Matlab programs?
02:00 6. Deep Learning Time Series with Python, tensorflow, and a GPU How do you set up a Python environemnt on Artemis?
How submit a GPU dependent Python script to Artemis?
02:40 Finish

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