Free module
GPU and parallel computing
Learn GPU and parallel computing hands on: speed-up, vectorising, splitting work, GPU threads and kernels, and memory bottlenecks, without a GPU.
The lessons
Each lesson is free to read in full. Create a free account to run its commands in a live lab and to sit its quizzes and tasks.
1 · Container lab
Speed-up and Amdahl's law
I can estimate the speed-up from using more workers.
Read the lesson2 · Container lab
Vectorising a loop with NumPy
I can replace a loop by one operation on a whole array.
Read the lesson3 · Container lab
Splitting work across processes
I can split a job into chunks, run them in separate processes and merge the answers.
Read the lesson4 · Container lab
How a GPU organises its threads
I can say how a GPU organises its threads and work out the global index of one.
Read the lesson5 · Container lab
Writing a GPU kernel
I can write a kernel for a simple job and launch it over enough threads.
Read the lesson6 · Container lab
Compute-bound and memory-bound jobs
I can tell whether a job is limited by compute or by memory.
Read the lesson
Worked in a real lab
Every lesson of this module is worked in a lab started for you alone. The labs it uses:
Teaching a class? Set this module for your students with a teacher guide, marked assignments and a lab for every student.