FireSim v1.3.1 ではBOOMに対応しているので、さっそくベンチマークプログラムを動かしてみた。
FireSim v1.3.1のダウンロード
$ git clone https://github.com/firesim/firesim.git -b 1.3.1 --recurse-submodules firesim_v131 $ cd firesim_v131 $ ./build-setup.sh # ツールチェインのビルドでかなり時間がかかる。
FireSim v1.3.1 でRocket-Chipを動かす
FireSim v1.3.1 でRocket-Chipを動かすのは、特に何も設定は必要ない。
$ cd firesim_v131/sim $ make DESIGN=FireSimNoNIC
FireSim v1.3.1 の Rocket-Chip でベンチマークプログラムを動作させる
ベンチマークプログラムを動作させるためには、以下のコマンドを入力する。
$ make DESIGN=FireSimNoNIC run-bmark-tests ... [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/mm.riscv.out after 384360 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/spmv.riscv.out after 174557 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/mt-vvadd.riscv.out after 140509 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/median.riscv.out after 24797 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/multiply.riscv.out after 62813 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/qsort.riscv.out after 362333 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/towers.riscv.out after 22493 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/vvadd.riscv.out after 17885 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/dhrystone.riscv.out after 241757 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireSimNoNIC-FireSimRocketChipConfig-FireSimConfig/mt-matmul.riscv.out after 57309 cycles
最後までベンチマークプログラムが動作した。
FireSim v1.3.1 でBOOMを動作させる
FireSim v1.3.1 でBOOMを動かすためには、DESIGN
変数とTARGET_CONFIG
変数を変更する。
$ cd firesim_v131/sim $ DESIGN=FireBoomNoNIC TARGET_CONFIG=FireSimBoomConfig
FireSim v1.3.1 の BOOM でベンチマークプログラムを動作させる
ベンチマークプログラムを動作させるためには、以下のコマンドを入力する。
$ make DESIGN=FireBoomNoNIC TARGET_CONFIG=FireSimBoomConfig run-bmark-tests ... [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/mm.riscv.out after 414688 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/spmv.riscv.out after 162016 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/mt-vvadd.riscv.out after 123744 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/median.riscv.out after 43360 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/multiply.riscv.out after 80224 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/qsort.riscv.out after 451168 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/towers.riscv.out after 31840 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/vvadd.riscv.out after 26080 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/dhrystone.riscv.out after 404320 cycles [ PASSED ] /var/masayuki_work/firesim_v131/sim/output/f1/FireBoomNoNIC-FireSimBoomConfig-FireSimConfig/mt-matmul.riscv.out after 55264 cycles
こちらも、最後までベンチマークプログラムが動作した。