Intel-C++-Compiler: Optimaler Code für den Prozessor

Nicht überzeugend ist die standardmäßig deaktivierte Auto-Parallelisierung beim Intel-Compiler. Nach langem Experimentieren mit dem Schwellenwert lässt sich der Scimark 2 auf dem Vier-Core-Woodcrest zwar ohne Codeveränderung von 1174 auf 1719 MIPS steigern, jedoch kann diese Steigerung mit einer echten Anwendung nicht nachvollzogen werden.

Der Benchmark des Raytracers Persistance of Vision (POV) in der Version 3.6 läuft mit dem Microsoft-Compiler und SSE2 in 926 Sekunden ab. Durch die Verwendung des Intel-Compiler ohne Auto-Parallelisierung kann die Ausführungszeit auf 800 Sekunden gesenkt werden. Mit Auto-Parallelisierung lassen sich allerdings nur 791 Sekunden erreichen.

Code, der vom Programmierer single-threaded entwickelt wurde, lässt sich nicht so einfach parallelisieren, ohne dass hier teils gravierende Änderungen vorgenommen werden. Um eine Multi-Core-Maschine annähernd nutzen zu können, muss der Code nach wie vor entsprechend designed sein.

Der POV-Raytracing-Algorithmus ist geradezu prädestiniert auf Multi-Core-Maschinen ausgeführt zu werden, da jeder Pixel eines fertigen Bildes, ohne Kenntnis eines weiteren Pixels berechnet wird. Mit der aktuellen Beta 3.7 zeigen die Entwickler auch, dass dies möglich ist.

Themenseiten: Anwendungsentwicklung, Intel, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Intel-C++-Compiler: Optimaler Code für den Prozessor

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *