|
Modulbezeichnung (engl.):
Introduction to Parallel Programming with CUDA |
|
Code: KIB-CUDA |
|
1V+1P (2 Semesterwochenstunden) |
3 |
Studiensemester: 5 |
Pflichtfach: nein |
Arbeitssprache:
Deutsch |
Prüfungsart:
Projektarbeit, Präsentation, Ausarbeitung
[letzte Änderung 18.10.2013]
|
DFBI-342 Informatik und Web-Engineering, Bachelor, ASPO 01.10.2018
, 6. Semester, Wahlpflichtfach, informatikspezifisch
KI593 (P222-0074) Kommunikationsinformatik, Bachelor, ASPO 01.10.2014
, 5. Semester, Wahlpflichtfach, technisch
KIB-CUDA (P222-0074) Kommunikationsinformatik, Bachelor, ASPO 01.10.2021
, 5. Semester, Wahlpflichtfach, technisch
KIB-CUDA (P222-0074) Kommunikationsinformatik, Bachelor, ASPO 01.10.2022
, 5. Semester, Wahlpflichtfach, technisch
PIBWI39 (P222-0074) Praktische Informatik, Bachelor, ASPO 01.10.2011
, 5. Semester, Wahlpflichtfach, informatikspezifisch
PIB-CUDA Praktische Informatik, Bachelor, ASPO 01.10.2022
, 5. Semester, Wahlpflichtfach, informatikspezifisch
|
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 30 Veranstaltungsstunden (= 22.5 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 3 Creditpoints 90 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 67.5 Stunden zur Verfügung.
|
Empfohlene Voraussetzungen (Module):
Keine.
|
Als Vorkenntnis empfohlen für Module:
|
Modulverantwortung:
Dipl.-Inform. Marion Bohr |
Dozent/innen: Dipl.-Inform. Marion Bohr
[letzte Änderung 01.10.2022]
|
Lernziele:
CUDA (Compute Unified Device Architecture) ist eine von NVIDIA entwickelte Technik, die die Entwicklung von Programmteilen erlaubt, welche durch den Grafikprozessor (GPU) auf der Grafikkarte abgearbeitet werden. Die Studierenden erhalten einen Einblick in das Lösen von Problemen mittels paralleler Programmierung. Sie verstehen die algorithmischen Grundlagen zur parallelen Programmierung. Sie können die Hard- und Softwarekomponenten auf Basis von CUDA einsetzen und innerhalb klar abgegrenzter praktischer Übungen demonstrieren. Sie können die Stärken einer GPU-Architektur anhand einer praxisorientierten Projektarbeit vorteilhaft einsetzen, ihre Performance optimieren und dabei den Ressourcenbedarf einer parallelen Implementierung analysieren. [OE+0+1+0+1+0+1=3]
[letzte Änderung 12.01.2018]
|
Inhalt:
* Grundlagen: Prozesse, Threads, Blöcke, Warps, Speicherarten, usw. * Algorithmische Grundlagen * Algorithmenbeispiele und Implementierungen für parallelisierbare und nicht parallelisierbare Programme * Laufzeitmessung, Laufzeitvergleich, Möglichkeiten der Performance-Steigerung * GPU-Anwendungen aus unterschiedlichen Themengebieten am Beispiel von CUDA
[letzte Änderung 02.01.2018]
|
Weitere Lehrmethoden und Medien:
Präsentationsfolien, Tafel, Übungsaufgaben
[letzte Änderung 02.01.2018]
|
Literatur:
* The CUDA Handbook: A Comprehensive Guide to GPU Programming, Nicholas Wilt, Addison-Wesley 2013 * CUDA by Example – An Introduction to General-Purpose GPU Programming, Jason Sanders/ Edward Kandrot, Addison-Wesley 2011 * Programming Massively Parallel Processors – A Hands-on Approach, David B. Kirk/ Wen-mei W. Hwu, Elsevier-Morgan Kaufmann Publishers 2010
[letzte Änderung 02.01.2018]
|