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となり、公称値とほぼ一致する、かな?