その2 SPEC2006インストールメモ

[戻る]


SPEC2006インストールメモ(記・石田)
SPEC2006を導入して行く。

今回導入したversionはv1.1。
とは言え、SPECが購入しないと利用できないので、SPECのサイトに行ってもダウンロードリンクなんて置いてなんかいません。
幸い、ここの研究室ではsambaのpub1/Benchmarks/SPECディレクトリにいくつかのSPECが購入されているので、ここにあるSPEC CPU v1.1を
利用します。
ライセンスで、publicに配っちゃダメって書いてあったんだけどどうなんだろう………(汗)(っまぁ研究室ローカルだし大丈夫だよね!?)

ではさっそくsambaのpub1/Benchmarks/SPECに入って、

[ryuta@ryuta-PowerEdge-T110-II:~/samba/Benchmarks/SPEC]
> cp -r SPEC\ CPU2006\ v1.1/ ~/

でEnterキーをッターンと!
コピー先は自分の好きなディレクトリでもローカルに掘ってそこにコピーしてもらえば大丈夫です。(ローカルストレージならどこでもいいよ)

コピーが終わったらローカルストレージにSPEC CPU2006 v1.1が存在してるはず。
名前のスペースが気に食わないから

[ryuta@ryuta-PowerEdge-T110-II:~]
> mv SPEC\ CPU2006\ v1.1/ SPEC_CPU2006_v1.1

でリネームして。

[ryuta@ryuta-PowerEdge-T110-II:~]
> mv SPEC_CPU2006_v1.1/ Workspace/

でWorkspaceディレクトリに移動した。

[ryuta@ryuta-PowerEdge-T110-II:~]
> cd Workspace/SPEC_CPU2006_v1.1/
[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/SPEC_CPU2006_v1.1]
> ls
Docs      LICENSE.txt  README.txt  bin     desktop.ini  install_archives         shrc      uninstall.sh
Docs.txt  MANIFEST     Revisions   config  install.bat  redistributable_sources  shrc.bat  version.txt
LICENSE   README       benchspec   cshrc   install.sh   result                   tools

なんかいっぱいあるぞ……
シェルだとinstall.shってスクリプトがすんげー臭そう。
でも早とちりせず慎重に見ていこう。

とりあえずREADMEあったらそれ見てみようねーってことで中身を見てみると……
Welcome to SPEC CPU2006
あーどうもどうも。

その次からなにやら……
インストールのガイドがDocsディレクトリに入ってるから見てくれよなー。
ちなみに、htmlだからwebブラウザで見れるよー。
手元にブラウザが無いのなら、Docs.txtディレクトリに言ってもらえればテキスト形式で同じ物見れるよー。
でも、htmlに比べたら読みにくいかもしれないから気をつけなよー。

って注意されてるみたい。
以降は、プラットフォームごとにインストールガイドがこれだよーだったり、インストールに必要なシステムがこれだよーだったり、ライセンスがどうのこうの
書いてあるみたいだけど、インストールするにはとりあえずDocsディレクトリに入ったらいいんだね?

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/SPEC_CPU2006_v1.1]
> cd Docs
[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/SPEC_CPU2006_v1.1/Docs]
> ls
changes-in-v1.1.html  flag-description.html       legal.html          runspec-avoidance.html     tools-build.html
config.html           flags                       makevars.html       runspec.html               utility.html
credits.html          images                      monitors.html       sample-sysinfo-program.pl
css                   index.html                  readme1st.html      specrxp.html
errata.html           install-guide-unix.html     result-fields.html  system-requirements.html
faq.html              install-guide-windows.html  runrules.html       techsupport.html

ふむ。
んで、README.txtに書いてあった、

The installation guides are:
	install-guide-unix.html		Unix, Mac OS X
	install-guide-windows.html   Microsoft Windows

これに従えば今回はUbuntu(Linux)なのでinstall-guide-unix.htmlを開いてみよう。

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/SPEC_CPU2006_v1.1/Docs]
> firefox install-guide-unix.html 

firefoxが立ち上がってページを表示してくれたと思う。
目次があってちゃんとステップで書いてくれてる。親切でNice.

1~4項目でDVDマウントしてどうのこうの書いてあるけどこれはSPEC2006自体がインストールされたDVDディスク
をマウントしてるっぽい……
今回はディスクデータが手元にあるので、5項目を目見てみたら

./install.sh

なんかやってるじゃん!ということで……
-dオプションでインストール先のディレクトリを指定できるようなので、~/Workspace/spec/testをとりあえずインストール先に指定して実行してみると、

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/SPEC_CPU2006_v1.1]
> ./install.sh -d ../spec/test

SPEC CPU2006 Installation

Top of the CPU2006 tree is '/home/ryuta/Workspace/SPEC_CPU2006_v1.1'

Installing FROM /home/ryuta/Workspace/SPEC_CPU2006_v1.1
Installing TO ../spec/test

Is this correct? (Please enter 'yes' or 'no') 
yes

The following toolset is expected to work on your platform.  If the
automatically installed one does not work, please re-run install.sh and
exclude that toolset using the '-e' switch.

The toolset selected will not affect your benchmark scores.

linux-suse101-AMD64           For 64-bit AMD64/EM64T Linux systems running
                              SuSE Linux 10.1 or later.
                              Built on SuSE Linux 10.1 with 
                              gcc V4.1.0 (SUSE Linux)



=================================================================
Attempting to install the linux-suse101-AMD64 toolset...


Unpacking CPU2006 base files (126 MB)
Unpacking 400.perlbench benchmark and data files (61.5 MB)
Unpacking 401.bzip2 benchmark and data files (110.7 MB)
Unpacking 403.gcc benchmark and data files (43 MB)
Unpacking 410.bwaves benchmark and data files (0.1 MB)
Unpacking 416.gamess benchmark and data files (16.8 MB)
Unpacking 429.mcf benchmark and data files (6.9 MB)
Unpacking 433.milc benchmark and data files (0.6 MB)
Unpacking 434.zeusmp benchmark and data files (1.1 MB)
Unpacking 435.gromacs benchmark and data files (13 MB)
Unpacking 436.cactusADM benchmark and data files (3.3 MB)
Unpacking 437.leslie3d benchmark and data files (0.3 MB)
Unpacking 444.namd benchmark and data files (7.6 MB)
Unpacking 445.gobmk benchmark and data files (9.2 MB)
Unpacking 447.dealII benchmark and data files (70.2 MB)
Unpacking 450.soplex benchmark and data files (321 MB)
Unpacking 453.povray benchmark and data files (10.3 MB)
Unpacking 454.calculix benchmark and data files (26 MB)
Unpacking 456.hmmer benchmark and data files (57 MB)
Unpacking 458.sjeng benchmark and data files (0.4 MB)
Unpacking 459.GemsFDTD benchmark and data files (2.6 MB)
Unpacking 462.libquantum benchmark and data files (0.2 MB)
Unpacking 464.h264ref benchmark and data files (52.9 MB)
Unpacking 465.tonto benchmark and data files (6.9 MB)
Unpacking 470.lbm benchmark and data files (4.7 MB)
Unpacking 471.omnetpp benchmark and data files (2.8 MB)
Unpacking 473.astar benchmark and data files (5.8 MB)
Unpacking 481.wrf benchmark and data files (67.1 MB)
Unpacking 482.sphinx3 benchmark and data files (51.7 MB)
Unpacking 483.xalancbmk benchmark and data files (213.7 MB)
Unpacking 998.specrand benchmark and data files (4.1 MB)
Unpacking 999.specrand benchmark and data files (4.1 MB)

Checking the integrity of your source tree...


Checksums are all okay.

Unpacking binary tools for linux-suse101-AMD64...

Checking the integrity of your binary tools...

Checksums are all okay.

Testing the tools installation (this may take a minute)

...............................................................................................o..........................................................................................o..
All tests passed!

Installation successful.  Source the shrc or cshrc in
../spec/test
to set up your environment for the benchmark.

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/SPEC_CPU2006_v1.1]
> cd ../spec/test
[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> ls
Docs      LICENSE.txt  README.txt  benchspec  cshrc        redistributable_sources  shrc.bat
Docs.txt  MANIFEST     Revisions   bin        install.bat  result                   uninstall.sh
LICENSE   README       SUMS.tools  config     install.sh   shrc                     version.txt

なんかインストールされてるっぽい(笑)
またinstall.shあるけどこれはなんじゃ?
とりあえず、htmlのドキュメントに戻ってこの先どうすればいいか見てみようじゃないか。

6項目目でshrcかchrcでSPECにパスを通してくださいと。
今回の環境であるUbuntu14.04LTSはデフォルトのシェルがdashなのでBourne-compatible shellになる。
ということで、

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> . ./shrc

このとき、htmlドキュメントでも強調されてるように(that's dot-space-dot-slash-shrc)ドット、スペース、ドット、スラッシュ、shrcとちゃんとコマンドを入力すること。
これによってrunspecコマンド(SPEC2006のベンチマークを回すコマンド)が使えるようになってるはず。

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> runspec
runspec v6152 - Copyright 1999-2008 Standard Performance Evaluation Corporation
Using 'linux-suse101-AMD64' tools
Reading MANIFEST... 18335 files
Loading runspec modules................
Locating benchmarks...found 31 benchmarks in 6 benchsets.
Neither config file 'default.cfg' nor 'default.cfg.cfg' exist in /home/ryuta/Workspace/spec/test/config!

There is no log file for this run.

*
* Temporary files were NOT deleted; keeping temporaries such as
* /home/ryuta/Workspace/spec/test/tmp
* (These may be large!)
*
runspec finished at Thu Mar 17 17:04:34 2016; 1 total seconds elapsed

のように出力されたら使えるようになってる。

7項目目に進もう。
ここでは、configディレクトリ内にあるコンフィグファイルを使って何か一つベンチマーク作ってみろよーって言われてる。
設定ファイルの話になってきてるっぽい。
その前に、デフォルトのコンフィグファイルを編集してそれを使うのは気が引けるので、

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test/config]
> cp Example-linux-ia64-gcc.cfg My-linux.cfg

としてそれっぽいコンフィグファイルをコピーした。
とりあえずこのコピーしたてのコンフィグファイルで何か一つベンチマークをコンパイルしてみる。

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> runspec --config=My-linux.cfg --action=build -tune=base bzip2

runspec v6152 - Copyright 1999-2008 Standard Performance Evaluation Corporation
Using 'linux-suse101-AMD64' tools
Reading MANIFEST... 18335 files
Loading runspec modules................
Locating benchmarks...found 31 benchmarks in 6 benchsets.
Reading config file '/home/ryuta/Workspace/spec/test/config/My-linux.cfg'
Loading "http://www.spec.org/auto/cpu2006/current_version" for version check: OK

NOTICE: There is a newer version of the suite available from SPEC.
  Version 1.200 was released on Wed Aug 17 10:10:33 2011

                       ----------------------------------
                       The run will continue in 5 seconds
                       ----------------------------------

Benchmarks selected: 401.bzip2
Compiling Binaries
  Building 401.bzip2 base ia64-gcc42 default: (build_base_ia64-gcc42.0000)
specmake clean 2> make.clean.err | tee make.clean.out
rm -rf bzip2
rm -rf bzip2.exe
rm -rf *.o  byoudoin.jpg.out input.combined.out input.program.out
find . \( -name \*.o -o -name '*.fppized.f*' \) -print | xargs rm -rf
rm -rf core
rm -rf 
specmake build 2> make.err | tee make.out
/usr/local/bin/gcc -c -o spec.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         spec.c
specmake: /usr/local/bin/gcc: Command not found
specmake: *** [spec.o] Error 127
Error with make 'specmake build': check file '/home/ryuta/Workspace/spec/test/benchspec/CPU2006/401.bzip2/build/build_base_ia64-gcc42.0000/make.err'
  Command returned exit code 2
  Error with make!
*** Error building 401.bzip2
If you wish to ignore this error, please use '-I' or ignore errors.

The log for this run is in /home/ryuta/Workspace/spec/test/result/CPU2006.001.log
The debug log for this run is in /home/ryuta/Workspace/spec/test/result/CPU2006.001.log.debug

*
* Temporary files were NOT deleted; keeping temporaries such as
* /home/ryuta/Workspace/spec/test/result/CPU2006.001.log.debug
* (These may be large!)
*
runspec finished at Thu Mar 17 17:32:38 2016; 7 total seconds elapsed

とりあえずhtmlドキュメント通りにbzip2をコンパイルしてみた。

次の8項目もやってみよう。
これは実際にベンチマークを1回だけ回してみるってもの。

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> runspec --config=My-linux.cfg --size=test --tune=base --noreportable --iterations=1 bzip2
runspec v6152 - Copyright 1999-2008 Standard Performance Evaluation Corporation
Using 'linux-suse101-AMD64' tools
Reading MANIFEST... 18335 files
Loading runspec modules................
Locating benchmarks...found 31 benchmarks in 6 benchsets.
Reading config file '/home/ryuta/Workspace/spec/test/config/My-linux.cfg'
Benchmarks selected: 401.bzip2
Compiling Binaries
  Building 401.bzip2 base ia64-gcc42 default: (build_base_ia64-gcc42.0000)
specmake clean 2> make.clean.err | tee make.clean.out
rm -rf bzip2
rm -rf bzip2.exe
rm -rf *.o  byoudoin.jpg.out input.combined.out input.program.out
find . \( -name \*.o -o -name '*.fppized.f*' \) -print | xargs rm -rf
rm -rf core
rm -rf 
specmake build 2> make.err | tee make.out
/usr/local/bin/gcc -c -o spec.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         spec.c
specmake: /usr/local/bin/gcc: Command not found
specmake: *** [spec.o] Error 127
Error with make 'specmake build': check file '/home/ryuta/Workspace/spec/test/benchspec/CPU2006/401.bzip2/build/build_base_ia64-gcc42.0000/make.err'
  Command returned exit code 2
  Error with make!
*** Error building 401.bzip2
If you wish to ignore this error, please use '-I' or ignore errors.

The log for this run is in /home/ryuta/Workspace/spec/test/result/CPU2006.002.log
The debug log for this run is in /home/ryuta/Workspace/spec/test/result/CPU2006.002.log.debug

*
* Temporary files were NOT deleted; keeping temporaries such as
* /home/ryuta/Workspace/spec/test/result/CPU2006.002.log.debug
* (These may be large!)
*
runspec finished at Thu Mar 17 17:43:05 2016; 2 total seconds elapsed

盛大にエラー吐いてくれたみたい(笑)
make.errにエラー処理をリダイレクトしてるみたいなので見てみる。

specmake: /usr/local/bin/gcc: Command not found
specmake: *** [spec.o] Error 127

どうやらgccのコマンドがないって言われてる。
コンパイラのパスが間違ってそう。

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/bin/X11/gcc /usr/local/lib/gcc /usr/share/man/man1/gcc.1.gz

やっぱり間違ってた(笑)
コンフィグファイルMy-linux.cfgの中身を変更。

Compiler selectionのMYPATHが/usr/localになってたからここを/usrに変更。
コンフィグファイルをチェックしてたらgfortranも必要になってくるっぽいので、

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> sudo apt-get install gfortran

でインストールしておいた。
先ほどのrunspecをもう一度実行……

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> runspec --config=My-linux.cfg --size=test --tune=base --noreportable --iterations=1 bzip2
runspec v6152 - Copyright 1999-2008 Standard Performance Evaluation Corporation
Using 'linux-suse101-AMD64' tools
Reading MANIFEST... 18335 files
Loading runspec modules................
Locating benchmarks...found 31 benchmarks in 6 benchsets.
Reading config file '/home/ryuta/Workspace/spec/test/config/My-linux.cfg'
Benchmarks selected: 401.bzip2
Compiling Binaries
  Building 401.bzip2 base ia64-gcc42 default: (build_base_ia64-gcc42.0000)
specmake clean 2> make.clean.err | tee make.clean.out
rm -rf bzip2
rm -rf bzip2.exe
rm -rf *.o  byoudoin.jpg.out input.combined.out input.program.out
find . \( -name \*.o -o -name '*.fppized.f*' \) -print | xargs rm -rf
rm -rf core
rm -rf 
specmake build 2> make.err | tee make.out
/usr/bin/gcc -c -o spec.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         spec.c
/usr/bin/gcc -c -o blocksort.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         blocksort.c
/usr/bin/gcc -c -o bzip2.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         bzip2.c
In file included from bzip2.c:155:0:
bzip2.c: In function 'compressStream':
bzlib.h:80:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SPEC_NULLCAST (int)
                            ^
bzip2.c:484:32: note: in expansion of macro 'SPEC_NULLCAST'
       outputHandleJustInCase = SPEC_NULLCAST NULL;
                                ^
bzip2.c:487:27: warning: assignment makes integer from pointer without a cast [enabled by default]
    outputHandleJustInCase = NULL;
                           ^
In file included from bzip2.c:155:0:
bzip2.c: In function 'uncompressStream':
bzlib.h:80:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SPEC_NULLCAST (int)
                            ^
bzip2.c:611:32: note: in expansion of macro 'SPEC_NULLCAST'
       outputHandleJustInCase = SPEC_NULLCAST NULL;
                                ^
bzip2.c:614:27: warning: assignment makes integer from pointer without a cast [enabled by default]
    outputHandleJustInCase = NULL;
                           ^
/usr/bin/gcc -c -o bzlib.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         bzlib.c
In file included from bzlib_private.h:73:0,
                 from bzlib.c:77:
bzlib.c: In function 'BZ2_bzWriteOpen':
bzlib.h:80:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SPEC_NULLCAST (int)
                            ^
bzlib.c:996:13: note: in expansion of macro 'SPEC_NULLCAST'
    if (f == SPEC_NULLCAST NULL ||
             ^
bzlib.c: In function 'BZ2_bzReadOpen':
bzlib.h:80:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SPEC_NULLCAST (int)
                            ^
bzlib.c:1172:13: note: in expansion of macro 'SPEC_NULLCAST'
    if (f == SPEC_NULLCAST NULL || 
             ^
bzlib.c: In function 'bzopen_or_bzdopen':
bzlib.h:80:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SPEC_NULLCAST (int)
                            ^
bzlib.c:1512:12: note: in expansion of macro 'SPEC_NULLCAST'
       fp = SPEC_NULLCAST NULL;
            ^
bzlib.h:80:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SPEC_NULLCAST (int)
                            ^
bzlib.c:1521:14: note: in expansion of macro 'SPEC_NULLCAST'
    if (fp == SPEC_NULLCAST NULL) return NULL;
              ^
/usr/bin/gcc -c -o compress.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         compress.c
/usr/bin/gcc -c -o crctable.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         crctable.c
/usr/bin/gcc -c -o decompress.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         decompress.c
/usr/bin/gcc -c -o huffman.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         huffman.c
/usr/bin/gcc -c -o randtable.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         randtable.c
/usr/bin/gcc   -O2  -DSPEC_CPU_LP64     -Wl,-rpath=/usr/lib   spec.o blocksort.o bzip2.o bzlib.o compress.o crctable.o decompress.o huffman.o randtable.o                     -o bzip2
specmake options 2> options.err | tee options.out
COMP: /usr/bin/gcc -c -o options.o -DSPEC_CPU -DNDEBUG    -O2       -DSPEC_CPU_LP64         
C: CC="/usr/bin/gcc"
C: COBJOPT="-c -o options"
P: CPUFLAGS="-DSPEC_CPU -DNDEBUG"
P: BENCH_FLAGS=""
P: BENCH_CFLAGS=""
O: OPTIMIZE=""
O: COPTIMIZE="-O2"
P: PORTABILITY="-DSPEC_CPU_LP64"
P: CPORTABILITY=""
O: EXTRA_CFLAGS=""
O: EXTRA_OPTIMIZE=""
O: EXTRA_COPTIMIZE=""
P: EXTRA_PORTABILITY=""
P: EXTRA_CPORTABILITY=""
LINK: /usr/bin/gcc   -O2  -DSPEC_CPU_LP64     -Wl,-rpath=/usr/lib              -o options
C: LD="/usr/bin/gcc"
O: COPTIMIZE="-O2"
P: PORTABILITY="-DSPEC_CPU_LP64"
O: EXTRA_LDFLAGS="-Wl,-rpath=/usr/lib"
C: LDOUT="-o options"

Build successes: 401.bzip2(base)

Setting Up Run Directories
  Setting up 401.bzip2 test base ia64-gcc42 default: created (run_base_test_ia64-gcc42.0000)
Running Benchmarks
  Running 401.bzip2 test base ia64-gcc42 default
/home/ryuta/Workspace/spec/test/bin/specinvoke -d /home/ryuta/Workspace/spec/test/benchspec/CPU2006/401.bzip2/run/run_base_test_ia64-gcc42.0000 -e speccmds.err -o speccmds.stdout -f speccmds.cmd -C
/home/ryuta/Workspace/spec/test/bin/specinvoke -E -d /home/ryuta/Workspace/spec/test/benchspec/CPU2006/401.bzip2/run/run_base_test_ia64-gcc42.0000 -c 1 -e compare.err -o compare.stdout -f compare.cmd
Success: 1x401.bzip2
Producing Raw Reports
mach: default
  ext: ia64-gcc42
    size: test
      set: int
        format: raw -> /home/ryuta/Workspace/spec/test/result/CINT2006.003.test.rsf
Parsing flags for 401.bzip2 base: done
Doing flag reduction: done
        format: flags -> /home/ryuta/Workspace/spec/test/result/CINT2006.003.test.flags.html
        format: ASCII -> /home/ryuta/Workspace/spec/test/result/CINT2006.003.test.txt
        format: PDF -> /home/ryuta/Workspace/spec/test/result/CINT2006.003.test.pdf
        format: Screen -> 

                                  Estimated                       Estimated
                Base     Base       Base        Peak     Peak       Peak
Benchmarks      Ref.   Run Time     Ratio       Ref.   Run Time     Ratio
-------------- ------  ---------  ---------    ------  ---------  ---------
400.perlbench                               NR                                 
401.bzip2          --       7.20         -- S                                  
403.gcc                                     NR                                 
429.mcf                                     NR                                 
445.gobmk                                   NR                                 
456.hmmer                                   NR                                 
458.sjeng                                   NR                                 
462.libquantum                              NR                                 
464.h264ref                                 NR                                 
471.omnetpp                                 NR                                 
473.astar                                   NR                                 
483.xalancbmk                               NR                                 
 Est. SPECint_base2006                   --
 Est. SPECint2006                                                   Not Run

      set: fp

The log for this run is in /home/ryuta/Workspace/spec/test/result/CPU2006.003.log

runspec finished at Thu Mar 17 17:55:08 2016; 27 total seconds elapsed

長ったらしいけどちゃんと実行してくれたみたい!

コマンドの引数については
https://www.spec.org/cpu2006/Docs/runspec.html#tune
ここに色々記載してあるから参考にするとよろし。

実行した結果、/home/ryuta/Workspace/spec/test/benchspec/CPU2006/401.bzip2/run/run_base_test_ia64-gcc42.0000にbzip2のバイナリやら、
実行した時のコマンドがspeccmds.cmdとかに出力されてる。

今はbzip2のみのテスト実行だったので引数を少し変えて全部走らせてみる。

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> runspec --config=My-linux.cfg --size=train -I --tune=peak --noreportable --iterations=1 all

オプションをざっくり説明すると、--sizeは入力データの大きさ、--tuneはreportable runの場合はbaseかallのどちらかである必要があるってことで深い理由は
分からず終い………
--noreportableはコンフィグファイルに記載されてあるオプション設定をコマンド上で上書きして実行できる(--sizeとかで再指定)オプションっぽい?
--iterationsはベンチマークを何回繰り返して実行するかってオプション。
最後のallは収録されているベンチマーク全部走らすぜっ!ってこと。

で全部走らせてみたんだけど何個かベンチマークがmakeできてないのかなんかで結果が出力されてないんだよね……

あったぞ!見逃せない奴が!

specmake: /usr/bin/g++: Command not found
specmake: *** [atmosph.o] Error 127
Error with make 'specmake build': check file '/home/ryuta/Workspace/spec/test/benchspec/CPU2006/453.povray/build/build_base_ia64-gcc42.0000/make.err'
  Command returned exit code 2
  Error with make!
*** Error building 453.povray
  Up to date 454.calculix peak ia64-gcc42 default
  Up to date 459.GemsFDTD peak ia64-gcc42 default
  Up to date 465.tonto peak ia64-gcc42 default
  Up to date 470.lbm peak ia64-gcc42 default
  Up to date 481.wrf peak ia64-gcc42 default
  Up to date 482.sphinx3 peak ia64-gcc42 default
  Up to date 998.specrand peak ia64-gcc42 default

えっ!?
g++無いって………入れてなかったっけ?……………………ってことで、

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> sudo apt-get install g++

入ってませんでしたので、インストールしておきました(笑)
必要になってくるのはgcc,g++,gfortranと言ったところでしょうかね。
挙動を見る感じ初回のベンチマークを走らせる際に一緒にmakeでビルドもしているみたい。

[ryuta@ryuta-PowerEdge-T110-II:~/Workspace/spec/test]
> runspec --config=My-linux.cfg --size=train -I --tune=peak --noreportable --iterations=1 all

でもう一回全部走らせてみるとdealII以外は出力してくれた。
なんでdealIIだけ出力しないんだろ?
pinの実験でもこれでdealIIだけ外したんだよね確か。
まぁ出力してくれなかったの一つだし及第点はクリアと……

今回はSPEC2006のベンチマークのバイナリが欲しい目的でとりあえずバイナリ生成のために1回ずつ走らせてるって感じ。
runspecコマンドによって、ベンチマークを走らせる際に与えるオプションでspeccmd.cmdの内容が変わるのかは、また色々とrunspecで走らせてみないとわからない……

SPEC2006の機能を使うんじゃなくてSPEC2006のベンチマークのバイナリが欲しいがための変わった利用の仕方だからとりあえずバイナリ吐いてくれたってことで
ここまでかなーと。