Merge pull request #465 from firesim/cleanMarshalDocs
Move even more documentation to FireMarshal's own readthedocs.
This commit is contained in:
commit
1f767e4df2
|
@ -1,65 +0,0 @@
|
|||
Quick Start
|
||||
--------------------------------------
|
||||
|
||||
All workload-generation related commands and code are in ``firesim/sw/firesim-software``.
|
||||
|
||||
FireMarshal comes with a few basic workloads that you can build right out of
|
||||
the box (in ``workloads/``). In this example, we will build and test the
|
||||
buildroot-based linux distribution (called *br-base*).
|
||||
|
||||
We begin by building the workload. This will build the linux binary, the platform
|
||||
specific drivers (and initramfs), and the root filesystem:
|
||||
|
||||
::
|
||||
|
||||
./marshal build workloads/br-base.json
|
||||
|
||||
The first time you build a workload may take a long time (buildroot must
|
||||
download and cross-compile a large number of packages), but subsequent builds
|
||||
of the same base will use cached results. Once the command completes, you
|
||||
should see two new files in ``images/``: ``br-base-bin`` and ``br-base.img``.
|
||||
These are the boot-binary (linux, initramfs, and boot loader) and root filesystem
|
||||
(respectively). We can now launch this workload in qemu:
|
||||
|
||||
::
|
||||
|
||||
./marshal launch workloads/br-base.json
|
||||
|
||||
You should now see linux booting and be presented with a login prompt. Sign in
|
||||
as 'root' with password 'firesim'. From here you can manipulate files, run
|
||||
commands, and generally use the image as if it had booted on real hardware. Any
|
||||
changes you make here will be persistent between reboots. Once you are done
|
||||
exploring, simply shutdown the workload:
|
||||
|
||||
::
|
||||
|
||||
$ poweroff
|
||||
|
||||
It is typically not a good idea to modify the \*-base workloads directly since
|
||||
many other workloads might inherit those changes. To make sure that we've
|
||||
cleaned out any changes, let's clean and rebuild the workload:
|
||||
|
||||
::
|
||||
|
||||
./marshal clean workloads/br-base.json
|
||||
./marshal build workloads/br-base.json
|
||||
|
||||
Note that this build took significantly less time than the first; FireMarshal
|
||||
caches intermediate build steps whenever possible. The final step is to run
|
||||
this workload on the real firesim RTL with full timing accuracy. To do that we
|
||||
must first install the workload:
|
||||
|
||||
::
|
||||
|
||||
./marshal install workloads/br-base.json
|
||||
|
||||
This command creates a firesim workload file at
|
||||
``firesim/deploy/workloads/br-base.json``. You can now run this workload using
|
||||
the standard FireSim commands (e.g. :ref:`single-node-sim`, just change the
|
||||
``workloadname`` option to "br-base.json" from "linux-uniform.json").
|
||||
|
||||
.. attention:: While the FireMarshal ``install`` command is the recommended way to create
|
||||
firesim configurations, you can still hand-create firesim workloads if needed.
|
||||
For example, the linux-uniform workload described in :ref:`single-node-sim` is
|
||||
a manually created workload that uses the br-base-bin and br-base.img files
|
||||
directly.
|
|
@ -2,52 +2,14 @@
|
|||
|
||||
Running Fedora on FireSim
|
||||
=====================================
|
||||
All workload-generation related commands and code are in ``firesim/sw/firesim-software``.
|
||||
FireSim supports running a fedora-based linux workload. To build this workload,
|
||||
you can follow FireMarshal's `quickstart guide
|
||||
<https://firemarshal.readthedocs.io/en/latest/quickstart.html>`_ (replace all
|
||||
instances of ``br-base.json`` with ``fedora-base.json``).
|
||||
|
||||
FireMarshal comes with a Fedora-based workload that you can use right out of
|
||||
the box in ``workloads/fedora-base.json``. We begin by building the
|
||||
workload (filesystem and boot-binary):
|
||||
|
||||
::
|
||||
|
||||
./marshal build workloads/fedora-base.json
|
||||
|
||||
The first time you build a workload may take a long time (we need to download
|
||||
and decompress a pre-built fedora image), but subsequent builds of the same
|
||||
base will use cached results. Once the command completes, you should see two
|
||||
new files in ``images/``: ``fedora-base-bin`` and ``fedora-base.img``. These
|
||||
are the boot-binary (linux + boot loader) and root filesystem (respectively).
|
||||
We can now launch this workload in qemu:
|
||||
|
||||
::
|
||||
|
||||
./marshal launch workloads/fedora-base.json
|
||||
|
||||
You should now see linux booting and be presented with a login prompt. Sign in
|
||||
as 'root' with password 'firesim'. From here you can download files, use the
|
||||
package manager (e.g. 'dnf install'), and generally use the image as if it had
|
||||
booted on real hardware with an internet connection. Any changes you make here
|
||||
will be persistent between reboots. Once you are done exploring, simply
|
||||
shutdown the workload:
|
||||
|
||||
::
|
||||
|
||||
$ poweroff
|
||||
|
||||
It is typically not a good idea to modify the \*-base workloads directly since
|
||||
many other workloads might inherit those changes. To make sure that we've
|
||||
cleaned out any changes, let's clean and rebuild the workload:
|
||||
|
||||
::
|
||||
|
||||
./marshal clean workloads/fedora-base.json
|
||||
./marshal build workloads/fedora-base.json
|
||||
|
||||
Note that this build took significantly less time than the first; FireMarshal
|
||||
caches intermediate build steps whenever possible. The final step is to run
|
||||
this workload on the real firesim RTL with full timing accuracy. For the basic
|
||||
fedora distribution, we will use the pre-made firesim config at
|
||||
``firesim/deploy/workloads/fedora-uniform.json``. Simply change the
|
||||
The final step is to run this workload on the real firesim RTL with full timing
|
||||
accuracy. For the basic fedora distribution, we will use the pre-made firesim
|
||||
config at ``firesim/deploy/workloads/fedora-uniform.json``. Simply change the
|
||||
``workloadname`` option in ``firesim/deploy/config_runtime.ini`` to
|
||||
"fedora-uniform.json" and then follow the standard FireSim procedure for
|
||||
booting a workload (e.g. :ref:`single-node-sim` or :ref:`cluster-sim`).
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
Defining Custom Workloads
|
||||
================================================
|
||||
|
||||
**Workloads** in FireSim consist of a series of **Jobs** that are assigned to
|
||||
If you do not want to use :ref:`firemarshal`, you can still manually create custom workloads in FireSim. **Workloads** in FireSim consist of a series of **Jobs** that are assigned to
|
||||
be run on individual simulations. Currently, we require that a Workload defines
|
||||
either:
|
||||
|
||||
|
|
|
@ -22,10 +22,5 @@ and rootfs can then be launched on qemu or spike (for functional simulation), or
|
|||
installed to firesim for running on real RTL.
|
||||
|
||||
For more information, see the official `FireMarshal documentation
|
||||
<https://firemarshal.readthedocs.io/en/latest/>`_ and the quickstart guide
|
||||
below:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
FireMarshal-QuickStart
|
||||
<https://firemarshal.readthedocs.io/en/latest/>`_, and its `quickstart
|
||||
tutorial <https://firemarshal.readthedocs.io/en/latest/quickstart.html>`_.
|
|
@ -1,19 +1,14 @@
|
|||
Workloads
|
||||
================
|
||||
|
||||
.. attention::
|
||||
|
||||
FireSim is moving to a new workload-generation tool :ref:`firemarshal`.
|
||||
These instructions will be deprecated in future releases of FireSim.
|
||||
|
||||
This section describes workload definitions in FireSim.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Workloads:
|
||||
|
||||
FireMarshal
|
||||
Defining-Custom-Workloads
|
||||
|
||||
SPEC-2017
|
||||
Booting-Fedora
|
||||
ISCA-2018-Experiments
|
||||
|
|
|
@ -37,7 +37,7 @@ this like so:
|
|||
::
|
||||
|
||||
cd firesim/sw/firesim-software
|
||||
./marshal -v build workloads/br-base.json
|
||||
./marshal -v build br-base.json
|
||||
|
||||
This process will take about 10 to 15 minutes on a ``c5.4xlarge`` instance.
|
||||
Once this is completed, you'll have the following files:
|
||||
|
|
|
@ -22,7 +22,7 @@ distribution. You can do this like so:
|
|||
::
|
||||
|
||||
cd firesim/sw/firesim-software
|
||||
./marshal -v build workloads/br-base.json
|
||||
./marshal -v build br-base.json
|
||||
|
||||
This process will take about 10 to 15 minutes on a ``c5.4xlarge`` instance.
|
||||
Once this is completed, you'll have the following files:
|
||||
|
|
|
@ -24,7 +24,6 @@ New to FireSim? Jump to the :ref:`firesim-basics` page for more info.
|
|||
|
||||
Advanced-Usage/Manager/index
|
||||
Advanced-Usage/Workloads/index
|
||||
Advanced-Usage/FireMarshal/index
|
||||
Advanced-Usage/Generating-Different-Targets.rst
|
||||
Advanced-Usage/Debugging/index
|
||||
Advanced-Usage/Supernode.rst
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 290d4e450eefdf99561eea953f18018475a3245f
|
||||
Subproject commit 925e85e8f3dd965dbda71c721a16ea0183d17c29
|
Loading…
Reference in New Issue