だいたい908日前に更新最終更新日時: 2021-06-07 (月) 01:03:05 908日前
Table of Contents |
- 必要なもの
- SPEC2006のISOイメージ : CPU2006v1.0.1.ISO
- ターゲット環境用のクロスコンパイラ : gcc, g++, gfortran
1.SPEC2006のインストール †
/home/ichi-h/work/cpu2006 にインストールする場合
1.1 SPEC2006 のisoイメージをマウント †
マウントポイントを dvd とする場合
mkdir dvd su mount -t iso9660 -o loop,ro CPU2006v1.0.1.ISO dvd exit
1.2 インストール †
cd dvd ./install.sh
コンパイル制御に使用する tool set の種類が表示されるので確認して Y
その後インストール先のディレクトリを入力を要求されるので入力 (ex. /home/ichi-h/work/cpu2006)
1.3 アンマウント †
su umount dvd exit
1.4 入力ファイルの配置 †
2 SPEC2006のコンパイル †
2.1 設定ファイルの作成 †
設定ファイルは /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 コンパイル †
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 †
runspec --config ichi.cfg --action clean int fp
3 ソースコードの改造 †
benchspec/CPU2006/(ベンチマーク名)/src をそのまま改造するとエラーとなりビルドできないので以下の手順を踏む。
3.1 ビルドディレクトリを作り改造 †
例えば410.bwavesを改造したい時
runspec --config ichi.cfg --fake --loose --size test --tune base bwaves
でビルドディレクトリが生成される。
benchspec/CPU2006/410.bwaves/run に「build_(チューニング)_(アーキテクチャ).(4桁の数字)」というディレクトリができる。
この中にソースコードがあるのでこれを改造する。
3.2 改造したソースコードのビルド †
まずビルドディレクトリに入る。
specmake clean specmake
(文責: いちばやし, くらた)