折角ZedBoard上でUbuntuが動作するようになったので、性能計測の基本、ベンチマークソフトウェアを動作させて、ZedBoard上のCortex-A9の性能を評価してみよう。
ちなみに、性能測定については、以前ZedBoardを動かしたときにCoremark-1.0を使って実施している。 以下のブログだ。
このときは、CMK/MHzとしては3.0に到達しない、2.x後半くらいの数値であった。ただしこのときはOSは動作しておらず、SDKの上からプログラムを流しこんで動作している。
Ubuntu上でNativeにコンパイルし、動作させたらどうなるだろう?
1. Coremark-v1.0をダウンロードし、動作させる。
EEMBCのサイトからCoremarkをダウンロードする。EEMBCのサイトはwgetが難しいので、Windowsでダウンロードしておき、SDカード上にあらかじめ展開しておいた上でブートする。
ZedBoardでUbuntuを起動したら、展開し、コンパイルし、実行する。異常なほど簡単だ。
tar xvfz coremark_v1.0.tgz cd coremark_v1.0 make PORT_DIR=linux make XCFLAGS=" -DPERFORMANCE_RUN=1" load run1.log make[1]: Entering directory '/home/linaro/coremark_v1.0' make port_prebuild make[2]: Entering directory '/home/linaro/coremark_v1.0' make[2]: Nothing to be done for 'port_prebuild'. make[2]: Leaving directory '/home/linaro/coremark_v1.0' make link make[2]: Entering directory '/home/linaro/coremark_v1.0' ... See readme.txt for run and reporting rules.
これで計測は完了だ。超簡単! run1.log, run2.logを見てみると、Coremarkスコアは1858.505761だった。Cortex-A9は666MHzで動作しているので、2.79程度だ。まあ、リーズナブルな性能ではないだろうか。 それにしても、簡単すぎる。
2. Coremark-Proの計測をする
次に、Coremark-Proを動作させてみよう。以下のサイトからダウンロードし、同様に、SDカードに入れておく。
これも、解答してmakeするだけで動作する。
tar xvfz coremark-pro_1.1.2470.tgz cd coremark-pro_1.1.2470 make TARGET=linux
coremark-pro_1.1.2470/builds/linux/gcc/logs/linux.gcc.log に以下のようなファイルが格納されているので、
UID Suite Name Contexts Workers Item Fails Time(secs) Iterations It/s Codesize Datasize Variance Standard Deviation #Results for run started at 16061:16:48:37 XCMD= 236760500 MLT cjpeg-rose7-preset 1 default 0 0.067 1 14.9253731343284 69601 266828 1050863061 MLT sha-test 1 default 0 0.04 1 25 52413 1556 490760323 MLT core 1 default 0 9.717 1 0.102912421529279 44579 3688 549578576 MLT nnet_test 1 default 0 2.39 1 0.418410041841004 48551 42844 1046644201 MLT linear_alg-mid-100x100-sp 1 default 0 0.125 1 8 49037 3388 780641437 MLT parser-125k 1 default 0 0.342 1 2.92397660818713 56717 1468 1814569103 MLT loops-all-mid-10k-sp 1 default 0 2.785 1 0.359066427289048 57592 6912 1862946660 MLT radix2-big-64k 1 default 0 0.118 1 8.47457627118644 1423747 1712 946108807 MLT zip-test 1 default 0 0.096 1 10.4166666666667 89577 1660
という訳で、結果は以下のようになる。これも簡単に計測できる!
Bench | Score |
---|---|
cjpeg-rose7-preset | 0.369955 |
sha-test | 0.51525 |
core | 0.360464 |
nnet_test | 0.286871 |
linear_alg-mid-100x100-sp | 0.207456 |
parser-125k | 0.607749 |
loops-all-mid-10k-sp | 0.40822 |
radix2-big-64k | 0.085036 |
zip-test | 0.487631 |
GeoMean | 0.326417 |
Score | 326.4169 |