| 開発者 | シリコングラフィックス社、中国科学院コンピューティング技術研究所、ヒューレット・パッカード、デラウェア大学 |
|---|---|
| 初回リリース | 2002年 |
| 最終リリース | 5.0 / 2011年11月10日 |
| オペレーティング·システム | クロスプラットフォーム、Linux |
| タイプ | コンパイラ |
| ライセンス | GNU 一般公衆利用許諾書 |
| Webサイト | ソースフォージ.net/projects/open64/ |
Open64 は、 Itaniumおよびx86-64マイクロプロセッサアーキテクチャ用の、無料かつオープンソースの最適化コンパイラです。MIPS R10000プロセッサ用のSGIコンパイラMIPSProから派生したものです。2000 年にGNU GPLソフトウェアとして Pro64 という名前で最初にリリースされました。翌年、デラウェア大学がこのプロジェクトを採用し、コンパイラの名前を Open64 に変更しました。現在は主に、コンパイラおよびコンピュータ アーキテクチャ研究グループの研究プラットフォームとして機能しています。Open64 は、 Fortran 77/95 およびC / C++ のほか、共有メモリプログラミング モデルOpenMP をサポートしています。高品質な手続き間解析、データフロー解析、データ依存性解析、配列領域解析を実行できます。開発は終了していますが、他のプロジェクトでプロジェクトのソースを使用できます。
インフラ
主なコンポーネントは、C/C++ ( GCCを使用) および Fortran 77/90 (CraySoft フロントエンドおよびライブラリを使用)のフロントエンド、手続き間分析(IPA)、ループ ネスト オプティマイザー (LNO)、グローバル オプティマイザー (WOPT)、およびコード ジェネレーター(CG) です。Open64 は当初単一のコンピュータ アーキテクチャ向けに作成されましたが、 MIPS、x86、IA-64、ARMなど、 CISC、RISC、およびVLIWアーキテクチャ向けに効率的なコードを生成できることが実証されています。
中間表現
このコンパイラでは、すべてのフロントエンドおよびバックエンドコンポーネント間の共通インターフェイスとして機能する、5 つの主要レベルを持つ階層型中間表現(IR) が使用されます。この IR は WHIRL と呼ばれます。
バージョン
2002 年にリリースされた Open64 のオリジナル バージョンには、非常に高度なソフトウェア パイプラインコード ジェネレーターが欠落しており、Itanium 用の基本的なコード ジェネレーターしかありませんでした。このコード ジェネレーターを含むオリジナルの MIPSPro コンパイラー全体は、Reservoir Labs の Blackbird コンパイラーとして商用ライセンスで入手できます。Showdown ペーパーには、Open64 に含まれていなかったコード ジェネレーターが記述されています。Tilera の 64 コア TILE64 チップ用の非常に高度なコンパイラーは、Blackbird に基づいています。
Open64 には多くのフォークが存在し、それぞれに異なる機能と制限があります。「クラシック」な Open64 ブランチは Open Research Compiler (ORC) で、Itanium (IA-64) 専用のコードを作成し、Intelによって資金提供されました。ORC の取り組みは 2003 年に終了し、現在の公式ブランチ (Intel ORC プロジェクトから派生) はHewlett-Packardとデラウェア大学の Computer Architecture and Parallel Systems Laboratory (CAPSL) によって管理されています。
その他の重要なブランチとしては、TensilicaのコンパイラやAMD x86 Open64 Compiler Suiteなどがあります。[1]
NvidiaもCUDAツールチェーンのコードを最適化するためにOpen64フォークを使用しています。[2]
Open64はx86-64プラットフォーム上のHPE NonStop OSコンパイラのバックエンドとして使用されます。 [3]
Open64 リリース
AMD x86 Open64 リリース
現在の開発プロジェクト
Open64は、Unified Parallel C (UPC)や様々な大学の投機的マルチスレッド研究など、多くの研究プロジェクトでも使用されています。2010年のOpen64開発者フォーラムでは、 Absoft、AMD、中国科学院、復旦大学、HP、国立清華大学、Nvidia、Tensilica、清華大学、ヒューストン大学で行われたプロジェクトについて説明しています。[4] 中国科学院は、 Open64をLoongson IIプラットフォームに移植しました。 [5]
AMDは、 x86マルチコアプロセッサの進歩とマルチスレッドコード開発向けに設計された最適化を施したOpen64を拡張し、製品化しました。[6] AMDは、 GCC の補完コンパイラとしてOpen64をサポートしています。[7]
Open64をベースにしたヒューストン大学のOpenUHプロジェクトは、2015年11月にコンパイラスイートの新バージョンをリリースした。[8]
参照
参考文献
- ^ 「x86 Open64 コンパイラ スイート」。AMD。2013年11 月 13 日時点のオリジナルよりアーカイブ。2013 年11 月 12 日閲覧。
- ^ NVIDIA の Open64 に関する経験
- ^ 「LLVM に関する John Reagan インタビュー、パート 2」。ecubesystems.com。2019 年 5 月 1 日。2020 年 11 月 25 日時点のオリジナルよりアーカイブ。2020年 12 月 21 日閲覧。
- ^ 「2010 Open64 Developers Forum、2010年8月25日」。2010年6月12日時点のオリジナルよりアーカイブ。2010年9月6日閲覧。
- ^ MIPS 上の Open64: Loongson II 向けの Open64 の移植と強化
- ^ Nigel Dessau、AMD CMO (2009 年 6 月 22 日)。「Sweet Suite、ブログ投稿」。2010 年 9 月 6 日時点のオリジナルよりアーカイブ。
- ^ 「AMD Open64 ダウンロード ページ」。2013 年 3 月 13 日時点のオリジナルよりアーカイブ。2012 年 11 月 13 日閲覧。
- ^ OpenUH ダウンロード ページ
外部リンク
- 公式サイト
- AMD Open64 ページ
- バークレー UPC-C トランスレータ
- ヒューストン大学の OpenUH プロジェクト
