You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-16Lines changed: 14 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,6 @@ A maintained, unified, and extended Versatile Tensor Accelerator (VTA) ecosystem
6
6
7
7
This repository addresses the limitations of the original VTA project by providing:
8
8
9
-
***Active Maintenance:** An up-to-date and maintained VTA codebase.
10
9
***Unified Simulation:** A consistent input format (raw binary files) for both functional (C++) and cycle-accurate (CHISEL) simulators.
11
10
***Extended Cycle-Accurate Simulation:** Enriched cycle-accurate simulation with multiple test cases for different submodules.
12
11
***Standalone Compiler:** An open-source, TVM-independent compiler for generating VTA binaries.
@@ -16,20 +15,13 @@ This project aims to improve the VTA's usability and applicability, particularly
16
15
## Repository Structure
17
16
18
17
*`tutorials/` : Contains a Jupyter tutorial in two parts explaining and illustrating the use of the VTA compiler.
19
-
*`compiler/`: Contains the standalone VTA compiler, data definition, and operation definition tools.
20
-
*`data_definition/`: Tools for generating binary data to be executed by the VTA.
21
-
*`operations_definition/`: Tools for generating VTA instructions.
22
-
*`simulators/`: Contains the VTA simulators.
23
-
*`functional_simulator/`: A C++ simulator that models the functional behaviour of the VTA.
24
-
*`cycle_accurate_simulator/`: A cycle-accurate hardware description using CHISEL, along with simulation testbenches.
25
-
*`src/main/scala/core/`: The hardware description of the VTA.
26
-
*`src/test/scala/simulator/`: The cycle-accurate simulator with different level of simulation (e.g., TensorAlu, Compute module, TensorGemm). The cycle-accurate simulator uses JSON files located in `src/test/scala/resources/`.
27
-
*`src/test/scala/formal/`: The formal verification of the VTA hardware description using chiseltest.
28
-
*`Makefile`: To execute examples including compilation and simulation. The command `make list` give the list of the possible filename, then `make FILENAME=<filename>` enables to run an example. For example:
29
-
```
30
-
make FILENAME=lenet5_layer1
31
-
```
32
-
The result of the execution will be stored in `simulators_output/` and named `fsim_report.txt`.
18
+
*`src/`: Contains the source code of the project.
19
+
*`compiler/`: Contains the VTA compiler that generates the binaries from JSON file.
20
+
*`simulators/`: Both functional (C++) and cycle-accurate (CHISEL) simulators.
21
+
*`examples/`: The examples to run.
22
+
*`Makefile`: Use `make help`to get the different examples to run.
23
+
*`config/vta_config.json`: The JSON file that defines the VTA hardware parameters.
24
+
*`environment_setup\standalone-vta.yml`: The file to setup the conda environment for executing the project.
33
25
34
26
35
27
## Getting Started
@@ -41,6 +33,12 @@ To get started with this repository, follow these steps:
2. **Explore the subprojects:** Refer to the individual `README.md` files within each subdirectory (`compiler/`, `simulators/`) for detailed instructions on building, running, and using the specific tools and simulators.
36
+
2. **Run the examples:**
37
+
```
38
+
cd examples
39
+
make help
40
+
make matrix_16x16
41
+
```
42
+
It results in two folders: `compiler_output/` and `simulators_output`.
cd$(FSIM_DIR)&& make -s execute >$(SIMULATOR_OUTPUT_DIR)/fsim_report.txt
77
+
78
+
matrix_maxpool_overfitting: ## Apply a maxpool with a 3x3-kernel on a flatten 6x6-tensor, buffers can only store 16 vectors (A single step is required by MAX)
cd$(FSIM_DIR)&& make -s execute >$(SIMULATOR_OUTPUT_DIR)/fsim_report.txt
82
+
83
+
matrix_maxpool_big_overfitting: ## Apply a maxpool with a 3x3-kernel on a flatten 6x6-tensor, buffers can only store 4 vectors (Multiple steps are required by MAX)
0 commit comments