Synopsis: Introduces GPU computing with Visual Studio 2017 and running GPU enabled solutions. The University of Sydney’s Argus HPC hosts several NVIDIA 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. You will undertake practical applications and learn how to run, time and compare CPU vs GPU jobs using Visual Studio. You will learn how to set up suitable environment for GPU-enabled applications in a Visual Studio 2017 IDE.
Target audience: Students and staff who would like to learn how to use GPU enabled code, especially in a Windows environment GUI environment. 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 with a Windows environments:
- NOTE: This is one of the few ways to work with GPUs or HPCs without Linux/Usix command line skills.
OWN LAPTOP REQUIRED.
Course survey!
Please fill out our course survey before you leave!
Help us help you!
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:07 | 2. Confirming your GPU environment and setup |
How to log on to a machine with GPUs, e.g. Argus
Does the machine have a NVIDIA GPU and is it working? Validate CUDA is compatible with GPU Device Driver. Is Visual Studio installed and running? |
00:17 | 3. Visual Studio basics |
How to run sample CUDA code in Visual Studio, ex deviceQuery?
What are the specs for your NVIDIA GPU? How do you build (compile), run and debug in VS (Visual Studio)? |
00:27 | 4. A simple GPU example, vector addition | What are the critical steps required in all GPU programs (hint: memory managment) |
00:37 | 5. Advanced CUDA examples | How do I find a suitable CUDA example to start from? |
00:47 | 6. Logging out of Argus | How do I CORRECTLY logout of Argus? |
00:49 | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.