SiFive Tech Symposiumの時に聞いたのだが、Freedom-E-SDKの時期リリースバージョンではCoremarkが同梱されているらしい。
freedom-e-sdkのブランチをdevelopment-19.05に変更すれば出てくる。
freedom-e-sdkの標準のビルド方法ではビルドできない。まあ、クロスコンパイルが前提だから当たり前か。
git clone https://github.com/sifive/freedom-e-sdk.git -c development-19.05
make software TARGET=sifive-hifive-unleashed PROGRAM=coremark # これはクロスコンパイルできない。
普通にターゲットディレクトリに移動して実行する。
cd software/coremark make PORT_DIR=linux64
結果を確認する。オリジナルのバージョンと比べて、オプションが追加されているようだ。
development-19.05のCoremarkの結果
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 14745
Total time (secs): 14.745000
Iterations/Sec : 2712.783995
Iterations : 40000
Compiler version : GCC8.3.0
Compiler flags : -O2 -fno-common -funroll-loops -finline-functions --param max-inline-insns-auto=20 -falign-functions=4 -falign-jumps=4 -falign-loops=4 --param inline-min-speedup=10 -DPERFORMANCE_RUN=1 -lrt
Memory location : Please put data memory location here
(e.g. code in flash, data on heap etc)
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0x25b5
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 2712.783995 / GCC8.3.0 -O2 -fno-common -funroll-loops -finline-functions --param max-inline-insns-auto=20 -falign-functions=4 -falign-jumps=4 -falign-loops=4 --param inline-min-speedup=10 -DPERFORMANCE_RUN=1 -lrt / Heap
- オリジナルのCoremarkの結果
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 14386
Total time (secs): 14.386000
Iterations/Sec : 2085.360767
Iterations : 30000
Compiler version : GCC8.3.0
Compiler flags : -O2 -DPERFORMANCE_RUN=1 -lrt
Memory location : Please put data memory location here
(e.g. code in flash, data on heap etc)
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0x5275
Correct operation validated. See readme.txt for run and reporting rules.
CoreMark 1.0 : 2085.360767 / GCC8.3.0 -O2 -DPERFORMANCE_RUN=1 -lrt / Heap
Iteration/Secだけ抜き出すと、
development-19.05のCoremark : 2712.783995- オリジナルのCoremark : 2085.360767
となり、30%程度向上している。まあ、オプションの成果だとは思いますが。。。
HiFive Unleashedの正確な動作周波数が分からないのだが、1.0GHzで動いているとすると、2.712CMK/MHzとなり、公称値とほぼ一致する、かな?