In this module, you will study the architecture and programming of GPUs. Please find below a brief outline of the lectures:
- Review of computer architecture basics - measuring performance, benchmarks, five-stage RISC pipeline, caches
- GPU basics - the evolution of GPU computing, a high-level overview of a GPU architecture
- GPU programming with CUDA - program structure, CUDA threads organization, warp/thread-block scheduling
- GPU (micro) architecture - streaming multiprocessors, single instruction multiple threads (SIMT) core design, tensor cores for deep learning, RT cores for ray tracing, mixed-precision support
- GPU memory hierarchy - banked register file and operand collectors, shared memory, GPU caches (differences w.r.t. CPU caches), global memory
- Branch and memory divergence - branch handling, stack-based reconvergence, memory coalescing, coalescer design
- Barriers and synchronization
- Temporal and spatial locality exploitation challenges in GPU caches
- Global memory- high throughput requirements, GDDR/HBM, memory bandwidth optimization techniques
- GPU research issues - performance bottlenecks, GPU power modeling, high-power consumption/energy efficiency, GPU security
- Application case study - deep learning
- Cycle-accurate simulators for GPUs
In addition to lectures, a semester-long problem-based project will augment the learning in the lectures. Several topics related to GPUs will be proposed. You are required to choose a topic and work on it. It is possible to work in groups. There will be (bi-) weekly meetings to discuss progress and problems.
In addition to the semester-long project, there will be assignments to teach CUDA programming.
Course Evaluation: Oral examination
Duration: 30 minutes
Voraussetzungen:
- Basic course on computer architecture and C/C++ programming
Lernorganisation:
- Weekly lecture
- Weekly lab
Leistungsnachweis:
Oral exam + Lab assignments
Bereichseinordnung:
Studiendekanat Elektrotechnik, Informatik und Mathematik
ECTS-Kreditpunkte:
6
Weitere Informationen aus Stud.IP zu dieser Veranstaltung
Heimatinstitut: Institut für Massively Parallel Systems (E-EXK5)
In Stud.IP angemeldete Teilnehmer: 82
Anzahl der Postings im Stud.IP-Forum: 2
Anzahl der Dokumente im Stud.IP-Downloadbereich: 1
Betreute Abschlussarbeiten
laufende
beendete
2021
Hund, P. (2021). Modellierung eines elektrischen Netzes zur Demonstration des Einflusses von virtueller Trägheit durch umrichterbasierte Energieanlagen.
Hund, P. (2021). Koordinierte Bereitstellung von virtueller Trägheit durch erneuerbare umrichterbasierte Energieanlagen in Verteilnetzen mithilfe von künstlicher Intelligenz.
Möller, P. (2021). Erfassung der Knotenspannung in Niederspannungsnetzen auf Basis von dezentralen Messeinrichtungen mithilfe von Machine learning.
Plant, R. (2021). Estimation of Power System Inertia in an Inverter-Dominated Distribution Grid Using Machine Learning.
2020
Dressel, M. (2020). Modellierung der Zustandsschätzung eines elektrischen Netzes mit Hilfe von Graph neuronalen Netzen.
Schmidt, M. (2020). Vorhersage von zuverlässig bereitstellbarer Regelleistung aus Erneuerbaren Energien mithilfe von neuronalen Netzen.