# GPU programming

- Institution: CERN
- Department: Lecture programme
- Speaker: Stephan Hageboeck
- Year: 2022
- Language: English
- Subjects: Computer science
- Source: [CERN](https://videos.cern.ch/record/3004219)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

Lecture Contents

In this lecture, we will look into the basics of GPU computing to understand in which circumstances the usage of GPUs is beneficial for scientific computing. Using the Nvidia CUDA GPUs as examples, will learn how the hardware works, which guides us towards how it has to be programmed.

Requirements

Students should have written basic C/C++ programs before, and should be familiar with pointers and arrays and/or vectors of data.

Hands on: We have the option to play with a few basic CUDA applications. There's three ways in which you can participate:

Linux / Mac laptop with ssh.

Any laptop and a browser. Please register on the current page to be granted access to GPUs on CERN's SWAN cluster. You will need a cernbox account, which is created once you visit https://cernbox.cern.ch. Note that the number of GPUs is limited.

Team programming. If the two above are not for you, we will team up and work together.

Short Speaker Bio

Stephan obtained a PhD in particle physics, searching for decays of the Higgs boson with the ATLAS detector. Afterwards, he worked for the ROOT project at CERN, focussing on high-throughput computing and RooFit, a package for fitting and statistical analysis of data. Now, Stephan is a computing engineer in CERN IT's innovation group, focussing on GPU computing for high-energy physics. .

0:00:00 Slide 1

0:02:47 Slide 2

0:06:01 Slide 3

0:09:37 Slide 4

0:11:43 Slide 5

0:12:49 Slide 6

0:14:46 Slide 7

0:16:54 Slide 8

0:19:36 Slide 9

0:21:39 Slide 10

0:23:16 Slide 11

0:24:46 Slide 12

0:26:35 Slide 13

0:30:06 Slide 14

0:31:30 Slide 15

0:34:37 Slide 16

0:36:11 Slide 17

0:37:45 Slide 18

0:39:14 Slide 19

0:43:18 Slide 20

0:45:54 Slide 21

0:46:57 Slide 22

0:48:27 Slide 23

0:50:58 Slide 24

0:56:10 Slide 25

0:58:01 Slide 26

0:59:31 Slide 27

1:01:22 Slide 28

1:02:24 Slide 29

1:03:28 Slide 30

1:05:15 Slide 31

1:06:57 Slide 32

1:09:37 Slide 33

1:13:52 Slide 34

1:15:53 Slide 35

1:17:29 Slide 36

1:19:11…

## Lectures

1. [GPU programming](https://invisiblenetwork.ai/learn/cern/3004219/8b778696e506), 1 h 21 min (CERN's player)
