Automatische Vektorisierung

Da die hohe Rechenleistung der Convex nur bei ausgiebiger Verwendung der Vektor-Einheiten genutzt werden kann, ist die Vektorisierung, d.h. die Umwandlung des Codes in eine Form, in der Vektor-Befehle eingesetzt werden, der wichtigste Schritt bei der Optimierung. Zum Glück wird einem diese Aufgabe weitgehend von den Compilern abgenommen, die ab der Optimierungsstufe -O2 neben den skalaren Optimierungen der Stufen -O0 und -O1 umfangreiche Umformungen vornehmen, um möglichst viele Schleifen vektorisieren zu können.13 In diesem Abschnitt wollen wir uns ansehen, welche Programm-Konstruktionen der Compiler automatisch in Vektorcode umwandeln kann bzw. welche die Vektorisierung verhindern.

Unterabschnitte

previous    contents     next

Peter Junglas 18.10.1993