Warum bei Parallelprogrammierung neue Werkzeuge unumgänglich sind

Einmal pro Jahr lädt Intel Reseller und Pressevertreter zur Intel Software Conference ein. Das Kernthema ist seit Jahren schon die effiziente Ausnutzung der zur Verfügung stehenden Multi- und Manycore-Systeme durch die Programmierer.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 10 Min.
Von
  • Marcus Bäckmann
Inhaltsverzeichnis

Einmal pro Jahr lädt Intel eine Gruppe von Resellern und Pressevertretern zur Intel Software Conference (ISC) ein. Wie der Name bereits sagt, dreht es sich dabei primär um die Tools zur Unterstützung der Softwareentwicklung auf Intel-Plattformen. Das Kernthema ist dabei die effiziente Ausnutzung der zur Verfügung stehenden Multi- und Manycore-Systeme durch die Programmierer.

Sechsmal schon fand die Veranstaltung statt, in diesem Jahr vor etwa 80 überwiegend europäischen Teilnehmern. Intels Aaron Coday fasste zunächst noch einmal den aktuellen Stand von Intels Prozessor-Hardware zusammen, wie Intel ihn in der zweiten Generation der Core Processor Family abbildet. Aus Sicht der Parallelprogrammierung besonders interessant sind die Advanced Vector Extensions (AVX), die als Erweiterung von SSE (Streaming SIMD Extensions) nun mit 256 Bit großen Vektoren umgehen können sowie Datenmaskierung und -permutation und 3-Operanden-Operationen auf diesen Vektoren anbieten. – Geeignete Voraussetzungen für Anwendungen auch in der Signal- und Bildverarbeitung.

Code für AVX wird selbstverständlich von Intels Compilern erzeugt, aber auch die von Microsoft sind bereits darauf eingestellt. Da die im Prozessor integrierte GPU im inneren Chip integriert ist, kann sie gemeinsam mit der CPU auf den L3-Cache zugreifen und mit ihr Daten austauschen. Um die sich dadurch ergebenden Möglichkeiten der Hardwarebeschleunigung zu nutzen, stellt Intel eine Schnittstelle mit den Namen Intel Media SDK zur Verfügung. Damit erfolgt der Zugriff auf die Fähigkeiten über eine allgemeine Schnittstelle, die bei zukünftigen Prozessoren kompatibel bleiben wird.

Laut den vorgestellten Zahlen sind 2011 bereits 50 Prozent der gelieferten 430 Millionen Prozessoren Dualcore-Systeme, Singlecore verschwindet langsam mit nur noch rund 10 Prozent Anteil. Das gleiche Schicksal soll demnach bis 2013 auch Dualcore erfahren. Die Analysten von IDC gehen dann von 30 bs 35 Prozent Quadcore- und rund 50 Prozent "Mehr als Quadcore"-Systemen aus, bei dann über 500 Millionen Prozessoren.

Folgerichtig hatte Intel im Herbst 2010 seinem Parallel Studio ein Facelift verpasst. Besonders stolz ist James Reinders, Chief Evangelist für Intels Softwareprodukte, auf die Performance des Fortran-Compilers, der den schnellsten Fortran-Code erzeugen könne, den man jemals im Feld gesehen habe. Parallel Studio 2011 teilt sich in drei Zweige auf.

  • Zum einen die normale Version für C- und C++-Entwickler, die erstmalig eine verbesserte Unterstützung der Multicore-Entwicklung und des parallelen Profilings anstreben.
  • Das Parallel Studio 2011 XE enthält zum anderen zusätzlich auch die Fortran-Unterstützung und Optimierungstools wie VTune Analyzer XE, um Optimierungspotenziale für Parallelprogrammierung in Programmen zu analysieren.
  • Das Cluster Toolkit dient der Entwicklung verteilter Anwendungen auf HPC-Systemen.

Die Tools sind für Windows und Linux erhältlich, und die C- und C++-Compiler – übrigens mit der internen Versionsnummer 12 – lassen sich unter Windows auch in Microsofts Visual Studio 2010 integrieren.

Dem Aspekt "Benchmarks" widmete Reinders ebenfalls viel Raum. Ein Geschwindigkeitsgewinn bei Benchmarks wie dem SPECfp_base2006 und SPECint_base2006 gegenüber den nächstbesten C++-Compilern von Microsofts Visual C++ und gcc von 70 respektive 20 Prozent soll erzielbar sein – selbst gegenüber der Intel-Vorgängerversion 11.1 ergaben sich noch einmal Zuwächse von 10 bis 30 Prozent. Das sollte nicht unbedingt verwunden, wenn der Prozessorhersteller selbst Entwicklungstools erstellt. Durchaus überraschend waren dagegen die vorgestellten Ergebnisse, wie sich Intels Compiler auf AMD-Systeme bewährt.

Zwar erreiche der Intel-Compiler auf AMD-Plattformen nicht ganz den Geschwindigkeitsvorteil gegenüber den Wettbewerbern von Microsoft und gcc, trotzdem wären nach Reinders mit dem aktuellen Intel-Compiler immer noch rund 40 bei den Fließkomma- und 10 Prozent bei den Integer-Benchmarks festzustellen. Der Intel-Compiler als beste Wahl für alle x86-Plattformen? So kann man Reinders Aussagen zusammenfassen.