htw saar Piktogramm
Zurück zur Hauptseite

Version des Moduls auswählen:

flag

Einführung in die parallele Programmierung mit CUDA

Modulbezeichnung: Einführung in die parallele Programmierung mit CUDA
Modulbezeichnung (engl.): Introduction to Parallel Programming with CUDA
Studiengang: Kommunikationsinformatik, Bachelor, ASPO 01.10.2014
Code: KI593
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.2018, 6. Semester, Wahlpflichtfach, informatikspezifisch
KI593 Kommunikationsinformatik, Bachelor, ASPO 01.10.2014, 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 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):
KI100 Programmierung 1
KI110 Informatik 1
KI400 Softwaretechnik 2
KI420 Betriebssysteme
KI430 Systemmanagement und Sicherheit


[letzte Änderung 18.10.2013]
Als Vorkenntnis empfohlen für Module:
Modulverantwortung:
Dipl.-Inform. Marion Bohr
Dozent: Dipl.-Inform. Marion Bohr

[letzte Änderung 13.09.2012]
Labor:
Labor für IT-Sicherheit (5103/2)
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, ...
[Thu Sep 24 07:01:30 CEST 2020, CKEY=keidppm, BKEY=ki, CID=KI593, LANGUAGE=de, DATE=24.09.2020]