Fachbereich Mathematik und Informatik

nothing
Suchen
Home
Mitarbeiter
Lehre
/pvs/wwustyles/wwupics/bullet_orga.gif
SS13
/pvs/wwustyles/wwupics/bullet_orga.gif
WS12/13
/pvs/wwustyles/wwupics/bullet_orga.gif
SS12
/pvs/wwustyles/wwupics/bullet_orga.gif
WS11/12
/pvs/wwustyles/wwupics/bullet_orga.gif
SS11
/pvs/wwustyles/wwupics/bullet_orga.gif
WS10/11
/pvs/wwustyles/wwupics/bullet_orga.gif
SS10
/pvs/wwustyles/wwupics/bullet_orga.gif
WS09/10
/pvs/wwustyles/wwupics/bullet_orga.gif
SS09
/pvs/wwustyles/wwupics/bullet_orga.gif
WS08/09
Forschung
Abschlussarbeiten
Publikationen
Stellenangebote
Intern
Startseite Mathematik und Informatik
Startseite
Universität Münster

Impressum

!!! Archivierte Webinhalte. Unseren aktuellen Auftritt finden sie unter:


http://www.uni-muenster.de/PVS!!!

Projektseminar: High-Level Programmierung heterogener paralleler Systeme

(Belegnummer 102274)

Aktuell


Inhalt

Heterogenität spielt bei modernen Rechnerarchitekturen eine entscheidende Rolle. Neben den traditionellen und multi-core CPUs haben sich Grafikprozessoren (GPUs) als sinnvolle Ergänzung für rechenintensive Anwendungen erwiesen. Die Programmierung solcher Systeme ist aufwendig. Mit OpenCL steht zwar inzwischen ein Programmiermodell bereit, welches die einheitliche Programmierung ermöglicht; dies ist jedoch ein low-level-Programmiermodell, mit aufwendiger und fehleranfälliger Programmierung.

An der Universität Münster wird zur Zeit die SkelCL-Bibliothek entwickelt, die eine vereinfachte Programmierung von heterogenen parallelen Systemen ermöglichen soll, durch zwei high-level Konstrukte:

  • vorgefertigte parallele Muster vereinfachen die Beschreibung von Berechnungen,
  • ein Vektor Datentyp führt implizit nötige Datentransfers durch und erleichtert so die Datenverwaltung.

Im Rahmen des Projektseminars soll die vorhandene SkelCL-Bibliothek erweitert und ihre Implementierung verbessert werden. Das Vorhaben beinhaltet insbesondere:

  • Entwurf und Implementierung eines Interfaces zur Durchführung von einfachen Vektoroperationen, wie Vektoraddition oder -multiplikation.
  • Optimierung und Anpassung der vorhandenen Implementierung auf spezielle OpenCL Devices, wie z.B. GPUs von NVIDIA oder CPUs von Intel.
  • Implementierung von dynamischem Zusammenfassen von parallelen Mustern, um den Overhead bei der Ausführung zu reduzieren.

Zeit und Ort
Vorstellung: Montag, 23.01.2012 um 16 Uhr c.t. im SR7
Projektsitzung: Dienstags, 10-12 Uhr c.t., wöchentlich, SR7
Anmeldung Anmeldung bei der Vorstellung oder per Mail an  Michel Steuwer bis zum 01.02.2012.
Zuordnung Informatik - Projektseminar
Veranstalter Prof. Sergei Gorlatch,
 Dipl.-Inf. Michel Steuwer

Themen der Einfürungsreferate

OpenCL Programmiermodell + API

OpenCL ist ein offener Industriestandard zur parallelen Programmierung heterogener Systeme. Dieser Vortrag soll eine Einführung in das Programmiermodell sowie die praktische Programmierung mit OpenCL geben.

Inhalte:

  • Vorstellung der wichtigsten Konzepte von OpenCL: Host, Device, Kernel, ...
  • Erläuterung der Ausführung eines OpenCL Kernels auf einem Device
  • Erstellung und Vorführung eines einfachen Beispielprogramms in OpenCL
Weitere Informationen

C++ Klassen und Objektorientiertes Design

Objektorientierte Programmierung in Java wird in der Informatik I gelert. Viele der Konzepte aus Java finden sich auch in C++ wieder, aber in leicht abgewandelter Form. Zusätzlich sind objektorientierte Konstrukte möglich, welche in Java nicht möglich sind, wie z.B. die Mehrfachvererbung. In diesem Vortrag sollen die Konzepte der Objektorientierten Programmierung in C++ vorgestellt werden.

Inhalte:

  • Vererbung: public und private Vererbung, Mehrfachvererbung, ...
  • Abstrakte Klassen / Interfaces
  • Virtuelle Funktionen

C++ Templates

C++ Templates sind wohlmöglich eines der mächtigsten Werkzeuge in C++. Templates ermöglichen nicht nur generische Programmierung, d.h. das schreiben von Quellcode unabhängig vom verwendeten Typen, sonder auch das 'rechnen' mit Typen. Dabei werden Templates nicht erst zur Laufzeit des Programms ausgewertet, sondern schon vom Compiler, was die Programmierung mit Templates sehr effizient macht. Dieser Vortrag soll eine Einführung in die Programmierung mit Templates geben.

Inhalte:

  • Motivation: Wozu dienen Templates?
  • Was muss beim Einsatz von Templates praktisches beachtet werden?
  • Klassen und Funktionen Templates
  • Eventuell: Variadic Templates (neu in C++11)
Weitere Informationen

Unit Testing und Test-Driven Development

Bei der Softwareentwicklung entstehen Fehler. Unit Testing stellt eine Möglichkeit da Fehler frühzeitig zu finden und zu beheben. Die Idee des Test-Driven Developments führt diesen Ansatz weiter und stellt den Test an erste Stelle bei der Softwareentwicklung. Dieser Vortrag soll eine Einführung in die Ideen hinter Unit Testing und Test-Driven Development geben, sowie eine praktische Einführung in das Unit Testing Framework GTest.

Inhalte:

  • Motivation: Wozu macht man Unit Tests?
  • Was ist die Idee beim Test-Driven Development?
  • Praktische Einführung in GTest
Weitere Informationen

Algorithmische Skelette und SkelCL

Algorithmische Skelette stellen ein Konzept zur vereinfachung paralleler Programmierung da. Viele verschiedene Skelett Bibliotheken sind in den vergangenen 20 Jahren entstanden, welche diese Idee in die Praxis umsetzten. Dieser Vortrag soll in das Konzept der algorithmischen Skelette einführen und belächten wie algoritmische Skelette in SkelCL verwendet werden.

Inhalte:

  • Was sind algorithmische Skelette? Warum wird dadurch das Programmieren vereinfacht?
  • Überblick über übliche Skelette
  • Wie werden in SkelCL algorithmische Skelette verwendet?
Weitere Informationen
  • Paper: A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers von H. González-Vélez und M. Leyton erschienen in Software: Practice and Experience
  • Paper: SkelCL - A Portable Skeleton Library for High-Level GPU Programming von M. Steuwer, P. Kegel und S. Gorlatch in 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum (IPDPSW)
Fristen und Termine
Vorstellung:23.01.2012
Vorbesprechung:20.03.2012
Einführungsvorträge:03.04.2012
Zwischenpräsentation:08.06.2012
Abschlußvortrag:31.07.2012
Abgabe der Ausarbeitung:31.08.2012


Unterlagen
:: Seitenanfang

Seitenanfang

zurückblättern

Diese Seite:  :: Seite drucken   :: Seite empfehlen  :: Seite kommentieren

© 2011 FB 10 Mathematik und Informatik

© 2007 FB 10 Mathematik und Informatik der Universität Münster
Einsteinstrasse 62 · 48149 Münster
Tel.: +49 251 83-3 27 40 · Fax: +49 251 83-3 27 42
E-Mail: pvsteam@math.uni-muenster.de