-
Notifications
You must be signed in to change notification settings - Fork 31
SPECCPU2006のコンパイル
- 必要なもの
- SPEC2006のISOイメージ : CPU2006v1.0.1.ISO
- ターゲット環境用のクロスコンパイラ : gcc, g++, gfortran
/home/ichi-h/work/cpu2006 にインストールする場合
マウントポイントを dvd とする場合
mkdir dvd
su
mount -t iso9660 -o loop,ro CPU2006v1.0.1.ISO dvd
exit
cd dvd
./install.sh
コンパイル制御に使用する tool set の種類が表示されるので確認して Y
その後インストール先のディレクトリを入力を要求されるので入力 (ex. /home/ichi-h/work/cpu2006)
su
umount dvd
exit
設定ファイルは /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.
cd /home/ichi-h/work/cpu2006
(bash) . ./shrc
(csh) source ./cshrc
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 に置かれる。
runspec --config ichi.cfg --action clean int fp
benchspec/CPU2006/(ベンチマーク名)/src をそのまま改造するとエラーとなりビルドできないので以下の手順を踏む。
例えば410.bwavesを改造したい時
runspec --config ichi.cfg --fake --loose --size test --tune base bwaves
でビルドディレクトリが生成される。
benchspec/CPU2006/410.bwaves/run に「build_(チューニング)_(アーキテクチャ).(4桁の数字)」というディレクトリができる。
この中にソースコードがあるのでこれを改造する。
まずビルドディレクトリに入る。 specmake clean specmake
(文責: いちばやし, くらた)