We’re excited to announce that FireSim is now open-source! FireSim enables cycle-accurate FPGA-accelerated simulation of Rocket Chip-based systems on Amazon EC2 F1 at 10s to 100s of MHz depending on simulation scale (e.g. ~150 MHz for a single quad-core Rocket Chip, ~10 MHz for a 1024-node, 4096-core networked datacenter of Rocket Chips with an aggregate of 16 TB of memory).
You can find the FireSim release here: github.com/firesim/firesim.
We’ve written extensive documentation, which you can find here: docs.fires.im.
In this release, we support 2 use cases:
1) Parallel single-node simulation: This simulates many Rocket Chips in parallel (without a simulated network) to support running large single-node benchmark suites. For example, since SPECInt 2017 with reference inputs consists of several individual long-running benchmarks, we can run them in parallel and collect cycle-accurate performance results for the full reference inputs in ~1 day, automatically (see our docs for running SPEC). We include scripts that go from a “factory-fresh” SPEC install to rootfses that run on FireSim simulations.
2) Datacenter/cluster simulation: Here, we can simulate datacenters of Rocket Chips (e.g. 1024 Rocket Chip nodes) interconnected by an Ethernet network, with cycle-accuracy. This use case is detailed in our paper to appear at ISCA 2018 (preprint, lightning talk). We include scripts and documentation in our public release that allow users to reproduce the graphs in this paper automatically (see the docs).
We have a FireSim-specific mailing list, which you can join here: https://groups.google.com/forum/#!forum/firesim. You can also follow our Twitter account, @firesimproject, to get project updates.
Also, if you’re a researcher, you can apply to get free AWS credits from Amazon: https://aws.amazon.com/grants/.
We’re using this infrastructure for our own research at Berkeley, so we’ll be continually adding features – we welcome issues and pull-requests!