Skip to content

Commit

Permalink
Update CFUPlayground.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ShravaniKode authored Oct 11, 2023
1 parent 78b40b0 commit ceb3f1c
Showing 1 changed file with 47 additions and 6 deletions.
53 changes: 47 additions & 6 deletions docs/source/CFUPlayground.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,67 @@ CFU Playground is a full-stack open-source framework for TinyML Acceleration. Th
## Installing CFU Playground

In order to install CFU Playground, run the following script from the `oss-arch-gym` repository root:

```sh
git submodule update --init sims/CFU-Playground/CFU-Playground
```

- Move into the CFU Playrgoud directory:
```sh
cd sims/CFU-Playground/CFU-Playground
```
- Run the following from this location:
```sh
./scripts/setup
./scripts/setup_vexriscv_build.sh
make install-sf
```
Now you should be able to use the CFU-env gym environment.

To invoke CFU Playground from arch-gym (after completing above installation steps):
```
cd oss-arch-gym/sims/CFU-Playground/
```
```
make enter-sf
```

## Run Training Scripts

Inside sims/CFU-Playground:

* **Random Walker**: ```python trainrandomwalker.py```
* **Random Walker**: ```python train_randomwalker_CFUPlayground.py```

* **Random Search**: ```python train_randomsearch_CFUPlayground.py```

* **Quasi Random**: ```python train_quasirandom_CFUPlayground.py```

* **Grid Search**: ```python train_gridsearch_CFUPlayground.py```

* **NSGA2**: ```python train_NSGA2_CFUPlayground.py```

* **EMUKIT_GP**: ```python train_EMUKIT_GP_CFUPlayground.py```


* **Other Algos Here**: ```python train....py```


To update the workload for the training scripts, follow these steps:
To update the parameters such as workload, num_steps, reward_formulation for the training scripts, follow these steps:
...

```
python training_script.py --parameter=value
```

## Parameter Space
| System Parameter | Values |
| ---------------- | ------------- |
| | |
| System Parameter | Values |
| ---------------- | ------------- |
|Bypass | True, False
|CFU Enable | True, False
|Branch Prediction | None, Static, Dynamic, Dynamic Target
|Instruction Cache Size | 0-16KiB
|Data Cache Size | 0-16KiB
|Hardware Multiplier | True, False
|Hardware Divider | True, False
|Single Cycle Multiplier | True, False
|Single Cycle Shifter | True, False
|Safe | True, False

0 comments on commit ceb3f1c

Please sign in to comment.