Today's computers are heterogeneous systems composed of various types of processing units such as CPUs, GPUs, TPUS, etc. Graphics processing units (GPUs) can be used as general purpose parallel processors to make their excellent processing capabilities available for many workloads besides graphics.
We'll talk about software hierarchy on GPUs. And we will give answers to the following questions: Where does GPU performance come from? What are the key hardware components that enable GPU performance?
And if time permits, we will also introduce CUDA memory model.
I hope this talk can help programmers to understand more about GPU and increase their confidence and comfort using GPUS by bringing knowledge of some of the main components that enable gpu performance.
1. SIMD Processing and GPUs
2. DRAM bank-level parallelism
3. GPU Software Hierarchy
4. GPU Memory Hierarchy
If time allows:
5. GPU programming model.