htw saar
Zurück zur Hauptseite

Version des Moduls auswählen:

Einführung in die parallele Programmierung mit CUDA

Modulbezeichnung: Einführung in die parallele Programmierung mit CUDA
Studiengang: Praktische Informatik, Bachelor, ASPO 01.10.2011
Code: PIBWI39
SWS/Lehrform: 1V+1P (2 Semesterwochenstunden)
ECTS-Punkte: 3
Studiensemester: 5
Pflichtfach: nein
Arbeitssprache:
Deutsch
Prüfungsart:
Projektarbeit, Präsentation, Ausarbeitung
Zuordnung zum Curriculum:
DFBI-342 Informatik und Web-Engineering, Bachelor, ASPO 01.10.2016, 6. Semester, Wahlpflichtfach, informatikspezifisch
KI593 Kommunikationsinformatik, Bachelor, ASPO 01.10.2011, 5. Semester, Wahlpflichtfach, technisch
KIB-CUDA Kommunikationsinformatik, Bachelor, ASPO 01.10.2017, 5. Semester, Wahlpflichtfach, technisch
PIBWI39 Praktische Informatik, Bachelor, ASPO 01.10.2011, 5. Semester, Wahlpflichtfach, informatikspezifisch
PIB-CUDA Praktische Informatik, Bachelor, ASPO 01.10.2017, 5. Semester, Wahlpflichtfach, informatikspezifisch
Arbeitsaufwand:
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 30 Stunden. 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 60 Stunden zur Verfügung.
Empfohlene Voraussetzungen (Module):
Keine.
Als Vorkenntnis empfohlen für Module:
Modulverantwortung:
Dipl.-Inform. Marion Bohr
Dozent: Dipl.-Inform. Marion Bohr

[letzte Änderung 13.09.2012]
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.

[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]
Lehrmethoden/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]
Modul angeboten in Semester:
WS 2017/18, WS 2016/17, WS 2015/16, WS 2014/15, WS 2013/14, ...
[Tue Feb 20 20:12:38 CET 2018, CKEY=keidppm, BKEY=pi, CID=PIBWI39, LANGUAGE=de, DATE=20.02.2018]