Hauptinhalt überspringenNavigation überspringenFooter überspringen
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: