GPU Tutorial
Tutorial | |
---|---|
Title: | Introduction to GPU Computing |
Provider: | HPC.NRW
|
Contact: | tutorials@hpc.nrw |
Type: | Multi-part video |
Topic Area: | GPU computing |
License: | CC-BY-SA |
Syllabus
| |
1. Introduction | |
2. Several Ways to SAXPY: CUDA C/C++ | |
3. Several Ways to SAXPY: OpenMP | |
4. Several Ways to SAXPY: Julia | |
5. Several Ways to SAXPY: NUMBA |
Introduction
Welcome to the HPC.NRW GPU Computing Online Tutorial!
A graphics processing unit (GPU) is a processor featuring a highly parallel structure, making it efficient at processing large blocks of data. Their most common application are of course video editing and gaming, but in principle GPUs can be used for any purpose. In an HPC environment, usually very specialized code was needed to utilize GPU computing, but in recent years this has become much more accessible.
This tutorial is intended for beginners who are just starting to use a supercomputer, or are otherwise interested in learning how to write GPU code.
How to proceed through this tutorial?
The tutorial is made up of 5 sections. Each covers a separate stand-alone topic; there is an introduction which is meant to be watched first, but the others can be worked through in any order.
Each tutorial consists of a short video, followed by a couple of quiz questions, and some practical exercises. You don't actually need to have a GPU in your computer to do the quizzes in this tutorial.
If you have any questions or encounter problems, you can contact us via e-mail at tutorials@hpc.nrw.
Who created this tutorial?
This tutorial has been developed within the framework of the HPC.NRW project. It is part of a series of online tutorials on various HPC-related topics, all of which were created by HPC.NRW members. Other topics are for example an Introduction to Linux, OpenMP and Gprof, and new tutorials continue to be developed.
The speakers are Christian Schmidt and Marius Neumann from Bielefeld University. Both have been working in Uni Bielefelds theoretical physics department for several years. Other contributions came from practically all HPC.NRW members.
Topics
Introduction
This session provides a brief background on what a GPU is and how it can speed up computations. It also explains how a SAXPY works.
Several Ways to SAXPY: CUDA C/C++
This session discusses the SAXPY via NVIDIA CUDA C/C++
Several Ways to SAXPY: OpenMP
This session discusses the SAXPY via OpenMP GPU Offloading.
Several Ways to SAXPY: Julia
This session discusses the SAXPY via Julia cuda.jl
Several Ways to SAXPY: NUMBA
This session discusses the SAXPY via numba python.