Exc compiler tool kit
履歴
exc tool kitは、C/C++やFortranのコードを解析、コード変換、最適化を
するためのプログラム群である。 Xobject code
と呼ぶ中間コードを介して、
各モジュールを構成する。
現在、以下のモジュールがある。
- C-front. CのソースコードをXobject Fileと呼ばれる
ASTレベルの中間コードに変換するモジュール。
pragmaとして、OpenMPのdirectiveを読み込むことができる。
- Package exc.object:
Xcode objectのデータ構造Xobjectの基本的なクラスを定
義するjava パッケージ。Xobject Fileの入出力や、
コードの内容について、簡単な解析ができる。
Cに戻す(de-compile)する機能もある。
- Package exc.block:
プログラム構造を解析したり、コード変換するための
block構造を提供するjava パッケージ。
- Package exc.openmp:
OpenMPのコンパイラ(トランスレータ)。
現在は、SMPのみに対応。βバージョン。
今後の予定として、以下のモジュールを計画している(優先順位順):
F-front. Fortranのフロントエンド。FortranプログラムをXobject code
に変換する。f77ベース。
DSM/SMPクラスタ用のOpenMPのコンパイラモジュール。
共有データに対して、instrumentすることにより、DSMに対応する。
データフロー解析モジュール。
OpenMP用の最適化モジュール。
C++のフロントエンド。MPC++のフロントエンドを改造の予定。
使い方:
- 環境変数CLASSPATHに /home/mpperf/openmp/java/ を加える。
- 使うパッケージをimportする。