現在の位置
backup プラグインを使用中
- バックアップ一覧
- 差分 を表示
- ソース を表示
- バックアップ を表示
- ターゲット環境/SPEC/SPECCPU2006のコンパイル へ行く。
- 1 (2009-07-18 (土) 16:25:25)
- 2 (2009-10-23 (金) 15:04:29)
- 追加された行はこの色です。
- 削除された行はこの色です。
-必要なもの --SPEC2006のISOイメージ : CPU2006v1.0.1.ISO --ターゲット環境用のクロスコンパイラ : gcc, g++, gfortran *1.SPEC2006のインストール [#wb36ac14] /home/ichi-h/work/cpu2006 にインストールする場合 ** 1.1 SPEC2006 のisoイメージをマウント [#c0c1a482] マウントポイントを dvd とする場合 mkdir dvd su mount -t iso9660 -o loop,ro CPU2006v1.0.1.ISO dvd exit ** 1.2 インストール [#qa2a78b6] cd dvd ./install.sh コンパイル制御に使用する tool set の種類が表示されるので確認して Y その後インストール先のディレクトリを入力を要求されるので入力 (ex. /home/ichi-h/work/cpu2006) ** 1.3 アンマウント [#m5e31f31] su umount dvd exit ** 1.4 入力ファイルの配置 [#l1b25f44] [[SPECベンチマークの入力データの配置]]を参照. * 2 SPEC2006のコンパイル [#b3cb4ebb] ** 2.1 設定ファイルの作成 [#ya97b61d] 設定ファイルは /home/ichi-h/work/cpu2006/config に作成する。それっぽい設定ファイルをコピーしてベースにする。 cd /home/ichi-h/work/cpu2006/config (例えば)cp linux32-i386-gcc42.cfg ichi.cfg 設定ファイルに次の行を追加 # 例 makeflags = -j 4 # 「SPEC のwebサイトにアクセスしてバージョンチェックを行う」を無効にする check_version = no コンパイラの設定を変更(例) CC = alpha-linux-gnu-gcc CXX = alpha-linux-gnu-g++ FC = alpha-linux-gnu-gfortran 最適化・共通のフラグの設定を変更(例) default=base=default=default: COPTIMIZE = -O3 CXXOPTIMIZE = -O3 FOPTIMIZE = -O3 PORTABILITY = -DSPEC_CPU_LP64 -DSPEC_CPU_LINUX benchspec/CPU2006/(ベンチマーク名)/Docs を参考にして各ベンチマークに必要なフラグを追加 例 (Onikiri-Alpha用) # Portability Flags - INT 400.perlbench=default=default=default: CPORTABILITY= -DSPEC_CPU_LINUX_ALPHA 473.astar=default=default=default: CXXPORTABILITY = -DSPEC_CPU_LITTLE_ENDIAN # Portability Flags - FP 481.wrf=default=default=default: CPORTABILITY = -DSPEC_CPU_CASE_FLAG -DSPEC_CPU_LINUX wrf_data_header_size = 4 # from gfortran 4.2.1 ChangeLog : # The GNU Fortran compiler now uses 4-byte record markers # by default for unformatted files to be compatible with g77 # and most other compilers. ** 2.2 コンパイル [#n41aef28] cd /home/ichi-h/work/cpu2006 # 環境変数 の設定 (bash) . ./shrc (csh) source ./cshrc # コンパイルと実行環境の作成 (makefileだけを作成するときは action=buildsetup とする) runspec --config ichi.cfg --action runsetup --size test --tune base int fp runspec --config ichi.cfg --action runsetup --size train --tune=base int fp runspec --config ichi.cfg --action runsetup --size ref --tune=base int fp benchspec/CPU2006/(ベンチマーク名)/run の下にディレクトリが作られ、その中でコンパイルが行われる。 実行ファイルは、 benchspec/CPU2006/(ベンチマーク名)/exe に置かれる。 入力ファイル等の実行環境は、 benchspec/CPU2006/(ベンチマーク名)/run に置かれる。 ** 2.3 clean [#bb57e8a4] runspec --config ichi.cfg --action clean int fp (文責: いちばやし) * 3 ソースコードの改造 [#f422b98a] benchspec/CPU2006/(ベンチマーク名)/src をそのまま改造するとエラーとなりビルドできないので以下の手順を踏む。 ** 3.1 ビルドディレクトリを作り改造 [#k1c02a4d] 例えば410.bwavesを改造したい時 runspec --config ichi.cfg --fake --loose --size test --tune base bwaves でビルドディレクトリが生成される。 benchspec/CPU2006/410.bwaves/run に「build_(チューニング)_(アーキテクチャ).(4桁の数字)」というディレクトリができる。 この中にソースコードがあるのでこれを改造する。 ** 3.2 改造したソースコードのビルド [#nbb92580] まずビルドディレクトリに入る。 specmake clean specmake (文責: いちばやし, くらた)