Open64 ist ein Compiler für die Programmiersprachen C++, C und Fortran 77/95, der aus dem MIPSPro-Compiler des Computer-Herstellers Silicon Graphics entstanden 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.

Open64
Basisdaten

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

Struktur und Fähigkeiten

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 (GCC für C++ und C und CraySoft für Fortran) aufsetzen. Diese Zwischenschicht trägt den Namen WHIRL. Durch diese Basis ist es möglich, den Quellcode mittels dead code elimination, interprozeduraler Analyse und einem globalen Optimierer zu optimieren. Um optimale Leistung auf Mehrprozessorsystemen zu ermöglichen, ist zudem OpenMP integraler Bestandteil des Pakets.

Der Open64-Compiler ist in der Lage, Maschinencode für x86, IA-64, MIPS und ARM zu erzeugen.

Geschichte

Bearbeiten

Die erste Abspaltung des MIPSPro-Compilers, die später die Grundlage für Open64 bildete, war der Open Research Compiler (ORC), dessen Entwicklung vom Prozessorhersteller Intel bezahlt wurde, um einen optimierenden Compiler für die Itanium-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 von HP und der University of Delaware betreuten Hauptzweig des Open64-Compilers vereinigt wurde. Heute gibt es zusätzlich zur offiziellen Codebasis noch eine sehr aktive Abspaltung, welche vom Chiphersteller AMD finanziert wird. Dort liegt das Hauptaugenmerk auf neuen Optimierungen für die Opteron-Modellreihe des Herstellers.

Außerdem wurde der Compiler auf die Loongson-Plattform portiert[1] und von Nvidia zur Optimierung der CUDA-C-Umgebung eingesetzt.[2]

Einzelnachweise

Bearbeiten
  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)
Bearbeiten