Zu Hauptinhalt springenZur Suche springenZu Hauptnavigation springenZu Footer springen
Logo der Fachhochschule Nordwestschweiz
Studium
Weiterbildung
Forschung und Dienstleistungen
Internationales
Die FHNW
De
Standorte und KontaktBibliothek FHNWKarriere an der FHNWMedien
Logo der Fachhochschule Nordwestschweiz
  • Studium
  • Weiterbildung
  • Forschung und Dienstleistungen
  • Internationales
  • Die FHNW
De
Standorte und KontaktBibliothek FHNWKarriere an der FHNWMedien
Module
Parallel Computing

Parallel Computing

Nummer
pac
ECTS
3.0
Anspruchsniveau
advanced
Inhaltsübersicht
Eine Konstante der vergangenen Jahre sind immer grösser werdende Datenmengen, aber auch immer komplexer werdende Modellierungsansätze. Beide Entwicklungen verlangen wachsende Rechenkapazität, um die vorliegenden Daten verwertbar zu machen. Parallele Organisation von Rechenschritten ermöglicht dabei schnelleres Prozessieren und steigert damit die Effizienz der Datenverarbeitung. Es lassen sich aber nicht beliebige Rechenvorgänge parallelisieren und skalieren. Algorithmen müssen auf Parallelisierbarkeit untersucht werden. Es haben sich weiter eine Reihe von Ansätzen etabliert, welche systematisches Parallelisieren ermöglichen. Die effiziente und korrekte Anwendung eben dieser Patterns ist bei der Verarbeitung grosser Datenmengen unabdingbar. Im Modul Parallel Computing werden die Studierenden schrittweise in verschiedene parallele Programmier- und Ausführungspattern eingeführt. Es werden verschiedene Ansätze basierend auf herkömmlicher Hauptprozessor- (CPU) Algorithmik, über die parallele Grafikhardware- (GPU) basierte Programmierung bis hin zur Cloud-optimierten Verarbeitung entwickelt. Die Themen sind:
  • Einführung ins Thema paralleles Datenverarbeiten
  • Threads, Locks, CPU-Hardware
  • SSE, AVX, OpenMP
  • GPU-Hardware, OpenCL
  • CUDA C++ Kernels, Memory Management und Ausführungsmodell
  • Ausführungspattern: Prefix Sum, Convolution, Geometric Decomposition
  • Kommunikationspattern: Basics, Scatter/Gather, Pub/Sub, MapReduce
  • Ausführen von komplexen Computation Graphs
  • Messaging Systeme für parallele Datenverarbeitung
Lernziele
Ziel dieses Moduls ist es, dass die Studierenden die Grundlagen der Parallelen Datenverarbeitung kennen und anwenden können. Die Studierenden
  • kennen und verstehen verschiedene Organisationsmuster für paralleles Rechnen und können diese erklären;
  • können erkennen, ob ein Problem parallelisiert werden kann;
  • können für ein Rechenproblem eine angepasste parallele Lösung entwerfen;
  • kennen verschiedene Prozessortypen und können für diese effiziente, parallelisierte Algorithmen korrekt implementieren;
  • können die parallele Ausführung mittels geeigneter Frameworks von lokalen Systemen auf Cloud/Cluster basierte Systeme skalieren;
  • verstehen die Limitationen der Skalierbarkeit von parallelisierten Datenverarbeitungen;
  • kennen state-of-the-art Werkzeuge und Frameworks für die parallele Datenverarbeitung und können diese gezielt und sicher einsetzen.
Empfohlene Vorkenntnisse
System Programmierung (syspr)
Leistungsbewertung
Erfahrungsnote, Gewichtung 100 %

Studium

Angebot

  • Studium
  • Weiterbildung
  • Forschung & Dienstleistungen

Über die FHNW

  • Hochschulen
  • Organisation
  • Leitung
  • Facts and Figures

Hinweise

  • Datenschutz
  • Accessibility
  • Impressum

Support & Intranet

  • IT Support
  • Login Inside-FHNW

Member of: