parallel 2012

Softwarekonferenz und Workshops für Parallel Programming, Concurrency und Multicore-Systeme - Karlsruhe, IHK, 23.-25. Mai 2012

Softwarekonferenz und Workshops für Parallel Programming, Concurrency und Multicore-Systeme. Karlsruhe, IHK, 23.-25. Mai 2012

Parallel 2012 » Agenda »

Extending a C-like Language for Portable SIMD Programming

Prozessoren verfügen bereits seit Jahren SIMD-Anweisungen. Um diese Anweisungen effektiv zu benutzen, muss der Programmierer nicht nur das Programm sondern auch das Speicher-Layout verändern. Automatische Vektorisierungstechniken sind dafür nicht mächtig genug und lassen sich normalerweise nur innerhalb bestimmter Grenzen anwenden. Aus diesem Grund vektorisieren Programmierer ihre Programme von Hand mithilfe sogenannter Intrinsics. Dies sind Funktionen, die sich direkt auf Maschinenbefehle abbilden lassen. Intrinsics verringern die Produktivität des Programmierers allerdings enorm, da sie ihm einen fehleranfälligen, schwer lesbaren, Assembler-nahen Programmierstil aufzwingen. Des Weiteren sind Intrinsics nicht portabel, da sie fest an einen bestimmten Befehlssatz gebunden sind.
Mit VecImp wurde ein Kalkül entworfen, mit dem man jede imperative Sprache mit Konstrukten erweitern kann, die portable und effiziente SIMD-Programmierung ermöglichen. Diese Erweiterung gibt dem Programmierer völlige Kontrolle darüber, wo und wie Steuerfluss und Daten vektorisiert werden sollen. Eine prototypische Implementierung zeigt, dass die Performance des erzeugten Codes der von Intrinsics-Code nahekommt, jedoch alle Probleme von Intrinsics vermieden werden können.

Referent

Sebastian Hack Sebastian Hack

ist Professor für Informatik an der Universität des Saarlandes in Saarbrücken. Seine Forschung widmet sich Compilern, insbesondere der Code-Generierung und Optimierung, sowie der automatischen Vektorisierung und Parallelisierung. Von 2008 bis 2010 war er Juniorprofessor an der Universität des Saarlandes. Davor war er Post-Doc an der Ecole Polytechnique Fédérale de Lausanne (EPFL), Schweiz, und an der Ecole Normale Supérieure de Lyon, Frankreich. 2006 wurde er an der Universität Karlsruhe mit einer Arbeit über Registerallokation promoviert. Er erhielt sein Diplom ebenfalls von der Universität Karlsruhe im Jahre 2004.