Open64

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Open64
Basisdaten

Entwickler Open64 OSG und Beitragende
Erscheinungsjahr 2002
AktuelleVersion 5.0
(10. November 2011)
Betriebssystem Unix,GNU/Linux
Kategorie Compiler
Lizenz GPL(Freie Software)
deutschsprachig nein
open64.net (archiviert)

Open64ist einCompilerfür dieProgrammiersprachenC++,CundFortran77/95, der aus dem MIPSPro-Compiler des Computer-HerstellersSilicon Graphicsentstanden ist. Da der Compiler quelloffen verfügbar ist, wurde er oft zur Implementierung und Verbesserung von Optimierungsstrategien eingesetzt, so dass er sich im Laufe der Zeit zu einem stark optimierenden Compiler entwickelte.

Struktur und Fähigkeiten

[Bearbeiten|Quelltext bearbeiten]

Der Compiler besitzt 5 hierarchisch angeordnete Ebenen für die Zwischenrepräsentation des Quellcodes, in denen jeweils verschiedene Optimierungsverfahren zum Einsatz kommen und auf denen die jeweiligen Frontends (GCCfürC++undCund CraySoft fürFortran) aufsetzen. Diese Zwischenschicht trägt den Namen WHIRL. Durch diese Basis ist es möglich, den Quellcode mittelsdead code elimination,interprozeduraler Analyse und einem globalen Optimierer zu optimieren. Um optimale Leistung aufMehrprozessorsystemenzu ermöglichen, ist zudemOpenMPintegraler Bestandteil des Pakets.

Der Open64-Compiler ist in der Lage, Maschinencode fürx86,IA-64,MIPSundARMzu erzeugen.

Die ersteAbspaltungdesMIPSPro-Compilers, die später die Grundlage für Open64 bildete, war derOpen Research Compiler(ORC), dessen Entwicklung vom ProzessorherstellerIntelbezahlt wurde, um einen optimierenden Compiler für dieItanium-Plattform zu schaffen. Da diese Prozessorarchitektur durch den radikalen Verzicht auf Code-optimierende Hardware-Einheiten stark auf die Optimierungsfähigkeiten des Compilers angewiesen war, lag der Schwerpunkt der Entwicklung in diesem Bereich. Die Förderung dieses Zweigs durch Intel endete 2003. Eine andere wichtige Abspaltung war die PathScale Compiler Suite, die allerdings inzwischen wieder mit dem mittlerweile vonHPund derUniversity of Delawarebetreuten Hauptzweig des Open64-Compilers vereinigt wurde. Heute gibt es zusätzlich zur offiziellenCodebasisnoch eine sehr aktive Abspaltung, welche vom ChipherstellerAMDfinanziert wird. Dort liegt das Hauptaugenmerk auf neuen Optimierungen für dieOpteron-Modellreihe des Herstellers.

Außerdem wurde der Compiler auf dieLoongson-Plattform portiert[1]und vonNvidiazur Optimierung derCUDA-C-Umgebung eingesetzt.[2]

  1. Open64 on MIPS: porting and enhancing Open64 for Loongson II(PDF-Datei; 312 kB)
  2. NVIDIA’s Experience with Open64(Word-Datei, 81 kB; DOC-Datei)