Programmierung von Hardwarebeschleunigern

Alexander Reinefeld, Thomas Steinke


Kurzbeschreibung
Zur Steigerung der Rechenleistung setzen die Systemhersteller zunehmend auf Multi- bzw. Manycore-Technologien sowie den Einsatz von Hardwarebeschleunigern. Deren effiziente Programmierung erfordert ein gutes Verständnis der zugrundeliegenden Hardware-Architektur. Dieses Projektseminar besteht aus zwei Teilen: Im Vorlesungsteil geben die Veranstalter einen Überblick über moderne Prozessortechnologie (Befehlsarchitektur, Adressierung, Pipelining, ILP, Speicherhierarchie, Cohärenz, Multi-Core, FPGA). Im Projektteil implementieren die Studenten ausgewählte Algorithmen auf Multicore-Systemen und Hardwarebeschleunigern wie zum Beispiel GPU, FPGA, Clearspeed oder Cell Broadband Engine.

Qualifikationsziele: Die Studenten sind in der Lage, einfache Algorithmen effizient zu parallelisieren und auf massiv parallelen Systemen und Hardwarebeschleunigern zu implementieren.

Teilnahmevoraussetzung
Abschluss des Grundstudiums in Informatik sowie möglichst Kenntnisse im maschinennahen Programmieren.
Eine Voranmeldung (Email an steinkezib.de) ist erforderlich, da die Teilnehmerzahl beschränkt ist.

Zeit und Ort
Mittwochs 14-18 Uhr
ZIB, Seminarraum (Raum 2006 im Rundbau)

Voraussetzung für die Vergabe von Studienpunkten
Zur Prüfungszulassung (mündliche Prüfung) müssen alle Übungsaufgaben mit jeweils mindestens 50% der Punkte gelöst werden und die Projektarbeit erfolgreich bearbeitet werden.

Termine und Material
21.10.2009 Einführung
  Asanovic et. al.: A View of the Parallel Computing Landscape
  J. Laurus: Spending Moore's Dividend
28.10.2009 Architektur und Design von Prozessoren
  Parallelprogrammierung
04.11.2009 Einführung CUDA
  >>> CUDA Zone (NVIDIA)
11.11.2009 Speicherhierarchie
18.11.2009 Speicherhierarchie (2)
25.11.2009 Memory Hierarchy in Shared Memory Systems (SMP)
02.12.2009 ekonfigurierbares Rechnen mit FPGAs (Einführung)
  Einführung in Mitrion-C
10.12.2009 Mitrionics SDK v 2.0.2 (einschliesslich Dokumentation): >>> Linux, >>>MacOS, >>>Windows
  SGI RASClib User's Guide
  Aufgabe 16.12. u. Projektaufgabe
  >>> Zugang zum HW-Accel-Cluster
20.01.2010 Prüfungsmodalitäten
27.01.2010 Vorstellung der Ergebnisse der Projektaufgabe
17.02.2010 Mündliche Prüfung