htw saar Piktogramm QR-encoded URL
Zurück zur Hauptseite Version des Moduls auswählen:
Lernziele hervorheben XML-Code


GPU-Computing

Modulbezeichnung:
Bezeichnung des Moduls innerhalb des Studiengangs. Sie soll eine präzise und verständliche Überschrift des Modulinhalts darstellen.
GPU-Computing
Modulbezeichnung (engl.): GPU Computing
Studiengang:
Studiengang mit Beginn der Gültigkeit der betreffenden ASPO-Anlage/Studienordnung des Studiengangs, in dem dieses Modul zum Studienprogramm gehört (=Start der ersten Erstsemester-Kohorte, die nach dieser Ordnung studiert).
Praktische Informatik, Master, ASPO 01.10.2017
Code: PIM-GPU
SAP-Submodul-Nr.:
Die Prüfungsverwaltung mittels SAP-SLCM vergibt für jede Prüfungsart in einem Modul eine SAP-Submodul-Nr (= P-Nummer). Gleiche Module in unterschiedlichen Studiengängen haben bei gleicher Prüfungsart die gleiche SAP-Submodul-Nr..
P222-0091
SWS/Lehrform:
Die Anzahl der Semesterwochenstunden (SWS) wird als Zusammensetzung von Vorlesungsstunden (V), Übungsstunden (U), Praktikumsstunden (P) oder Projektarbeitsstunden (PA) angegeben. Beispielsweise besteht eine Veranstaltung der Form 2V+2U aus 2 Vorlesungsstunden und 2 Übungsstunden pro Woche.
2V+2P (4 Semesterwochenstunden)
ECTS-Punkte:
Die Anzahl der Punkte nach ECTS (Leistungspunkte, Kreditpunkte), die dem Studierenden bei erfolgreicher Ableistung des Moduls gutgeschrieben werden. Die ECTS-Punkte entscheiden über die Gewichtung des Fachs bei der Berechnung der Durchschnittsnote im Abschlusszeugnis. Jedem ECTS-Punkt entsprechen 30 studentische Arbeitsstunden (Anwesenheit, Vor- und Nachbereitung, Prüfungsvorbereitung, ggfs. Zeit zur Bearbeitung eines Projekts), verteilt über die gesamte Zeit des Semesters (26 Wochen).
5
Studiensemester: 1
Pflichtfach: nein
Arbeitssprache:
Deutsch
Prüfungsart:
Projektarbeit

[letzte Änderung 08.10.2020]
Verwendbarkeit / Zuordnung zum Curriculum:
Alle Studienprogramme, die das Modul enthalten mit Jahresangabe der entsprechenden Studienordnung / ASPO-Anlage.

KI784 (P222-0091) Kommunikationsinformatik, Master, ASPO 01.04.2016 , 1. Semester, Wahlpflichtfach, informatikspezifisch
KIM-GPU Kommunikationsinformatik, Master, ASPO 01.10.2017 , 1. Semester, Wahlpflichtfach, informatikspezifisch
PIM-WI72 (P222-0091) Praktische Informatik, Master, ASPO 01.10.2011 , 1. Semester, Wahlpflichtfach, informatikspezifisch
PIM-GPU (P222-0091) Praktische Informatik, Master, ASPO 01.10.2017 , 1. Semester, Wahlpflichtfach, informatikspezifisch
Arbeitsaufwand:
Der Arbeitsaufwand des Studierenden, der für das erfolgreiche Absolvieren eines Moduls notwendig ist, ergibt sich aus den ECTS-Punkten. Jeder ECTS-Punkt steht in der Regel für 30 Arbeitsstunden. Die Arbeitsstunden umfassen Präsenzzeit (in den Vorlesungswochen), Vor- und Nachbereitung der Vorlesung, ggfs. Abfassung einer Projektarbeit und die Vorbereitung auf die Prüfung.

Die ECTS beziehen sich auf die gesamte formale Semesterdauer (01.04.-30.09. im Sommersemester, 01.10.-31.03. im Wintersemester).
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
Empfohlene Voraussetzungen (Module):
Keine.
Als Vorkenntnis empfohlen für Module:
Modulverantwortung:
Prof. Dr. Jörg Keller
Dozent/innen: Prof. Dr. Jörg Keller

[letzte Änderung 10.11.2016]
Lernziele:
Die Studierenden sind in der Lage, die Arbeitsweise moderner CPU-/GPU-Strukturen zu verstehen und deren wesentlichen
Merkmale zu vergleichen. Sie können mit Hilfe von GPU-Programmierparadigmen massiv parallele Lösungsansätze
planen, deren Ressourcenverbrauch einschätzen und ihre Praktikabilität anhand von konkreten Implementierungen aufzeigen.
 
Desweiteren können sie erlernte Techniken auf neue Problemstellungen adaptieren und die Qualität der entsprechenden Lösungen beurteilen.


[letzte Änderung 23.11.2017]
Inhalt:
Die Vorlesung wiederholt zunächst in kompakter Form Architektur und
Grundlagen der parallelen Programmierung für Multicore-CPUs und GPUs.
Dabei vertieft sie Kenntnisse über Gemeinsamkeiten und Unterschiede,
um die Programmierung von GPUs durch Übertragung paralleler Programme
für Multicores zu vereinfachen. Neben Techniken wie der Regularisierung
von Kontrollfluss und Speicherzugriffen werden auch algorithmische
Techniken anhand mehrerer Anwendungsdomänen gezeigt, die von der
klassischen Numerik bis zur Kryptografie reicht.
 
- Architektur moderner CPU-Kerne
  (Superskalarität, Hyperthreading, etc)
- Architektur moderner Mehrkern-Prozessoren
  (mehrere Cores, gemeinsame Caches, Speicherzugriff)
- Programmierung moderner Mehrkern-Prozessoren
- Fortgeschrittene Programmierung moderner Mehrkern-Prozessoren
  (Beispiele von Koordination durch critical sections, barriers, etc)
 
- Architektur moderner GPU-Architekturen
  (mehrere Multiprozessoren, Multiprozessoren als SIMD-Architekturen)
- Unterschiede zwischen GPUs und CPUs
  (SIMD vs MIMD, Datentransport, Zusammenarbeit CPU/GPU)
- Vorteile von GPUs gegenüber CPUs
  (Rechenleistung, explizite Nutzung lokaler Speicher, massive Parallelität)
- Grundlagen der GPU-Programmierung mit OpenCL
  (Beispiel-Programme, Zeitmessung, Relation Berechnung-Transport)
- Unterschiede zwischen CUDA und OpenCL
  (OpenCL allgemeiner, dafür aufwändiger, Code meistens weniger effizient)
 
- Performance-Abhängigkeit von Indizierung und Speichernutzung
  (Unterschiede je nach Dimensionszahl und -größen, Platzierung von Variablen)
- Regularisierung von Code zur Performance-Steigerung
  (Übertragung von Multicore-Code auf GPU, SIMDsierung, etc)
 
- Numerische Anwendungen
  (Parallele numerische Lösung von einfachen Differenzialgleichungen)
- Kombinatorische Anwendungen
  (Probleme in Graphen, Fokus auf Regularisierung)
- Kryptografische Anwendungen
  (Fokus auf Regularität sowie bitserieller Implementierung)
- Harte Probleme
  (NP-harte Probleme, Approximationen, Parallelisierung für GPU)
 


[letzte Änderung 09.07.2018]
Weitere Lehrmethoden und Medien:
Cuda/OpenCL-Systeme mit NVidia-Tesla und -Kepler GPU-Architektur
Projekttreffen u.a. als Videokonferenz

[letzte Änderung 08.10.2020]
Literatur:


[noch nicht erfasst]
Modul angeboten in Semester:
WS 2018/19, WS 2017/18
[Tue Jul 16 08:51:53 CEST 2024, CKEY=kg, BKEY=pim2, CID=PIM-GPU, LANGUAGE=de, DATE=16.07.2024]