Below the API

Performance

IntermediateModule5 topics~4h 55m
completed

Topics, in order

About this module

A GPU can be a thousand times faster than a CPU or barely faster at all. The difference is almost never “better arithmetic”. It is whether the program respects four constraints: memory bandwidth, memory access patterns, how well the SMs are kept busy, and per-launch overhead.

#LessonThe question it answers
01The Roofline ModelWhat is the fastest this operation could possibly run?
02Memory Access PatternsWhy does the order of memory access change speed 10x?
03Occupancy and DivergenceAre the SMs actually busy?
04Launch Overhead and FusionWhy are many small kernels slow?
05Measuring a GPUWhat do the tools tell you — and what do they hide?

When you finish you can look at an operation, predict its speed from a data sheet, measure it, and explain the gap.

↑↓ navigate ↵ open