SPEC 2017¶
SPEC2017 is supported using the firesim-2017
branch of Speckle, which
provides the tooling required to cross-compile SPEC for RISCV. These
instructions presuppose you’ve have a license for, and have installed SPEC on
your machine either EC2 or locally. Additionally, your SPEC environment must be setup;
SPEC_DIR
must be set. If you are building binaries on a different machine,
you should be able to trivially copy Speckle’s generated overlay directories to
EC2.
Some notes:
- Benchmarks use reference inputs by default.
train
ortest
inputs can be used by specifying an argument in make:make spec-int{rate,speed} input={test,train,ref}
- You may need to increase the size of the RootFS in buildroot in
firesim/sw/firesim-software/images
. - No support for fp{rate, speed} benchmarks yet.
Intspeed¶
The intspeed workload definition splits the xz benchmark into two jobs (these are two independent inputs) to achieve better load balance across the simulations (9T dynamic instructions becomes 4T and 5T.)
To Build Binaries And RootFSes:
cd firesim/deploy/workloads/
make spec17-intspeed
Run Resource requirements:
f1_16xlarges=0
m4_16xlarges=0
f1_2xlarges=11
To Run:
./run-workload.sh workloads/spec17-intspeed.ini --withlaunch
On a single-core rocket-based SoC with a DDR3 + 256 KiB LLC model, with a 160 MHz host clock, the longest benchmarks (xz, mcf) complete in about 1 day. All other benchmarks finish in under 15 hours.
Intrate¶
By default, the intrate workload definition spins up four copies of each benchmark, which may be entirely inappropriate for your target machine. This can be changed by modifying the json.
To Build Binaries and RootFSes:
cd firesim/deploy/workloads/
make spec17-intrate
Run Resource Requirements:
f1_16xlarges=0
m4_16xlarges=0
f1_2xlarges=10
To Run:
./run-workload.sh workloads/spec17-intrate.ini --withlaunch
Simulation times are host and target dependent. For reference, on a four-core rocket-based SoC with a DDR3 + 1 MiB LLC model, with a 160 MHz host clock, the longest benchmarks complete in about 30 hours when running four copies.