|Title:||Introduction to GPU Computing|
|Topic Area:||GPU computing|
|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|
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. The Videos are collected in a short Playlist. 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 firstname.lastname@example.org.
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.
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.
This session discusses the SAXPY via NVIDIA CUDA C/C++
This session discusses the SAXPY via OpenMP GPU Offloading.
This session discusses the SAXPY via Julia cuda.jl
This session discusses the SAXPY via numba python.