Skip to content

Commit c76e020

Browse files
committed
koios readme refined
1 parent 990ae0d commit c76e020

File tree

20 files changed

+39
-18
lines changed

20 files changed

+39
-18
lines changed

vtr_flow/benchmarks/verilog/koios/README.md

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Koios benchmarks use advanced DSP features that are available in only a few FPGA
1313

1414
Similarly, Koios benchmark instantiate hard memory blocks (single port and dual port BRAM). These blocks are available in most architectures provided with VTR, but may not be available in a user's architecture. These hard memory blocks can be controlled by using the macro ``hard_mem``. If `hard_mem` is defined in a benchmark file (using `` `define hard_mem``), then hard memory blocks will be used. If `hard_mem` is not defined, then equivalent functionality is obtained through behavioral Verilog that the synthesis tools can automatically infer as RAMs.
1515

16-
From a flow perspective, you can enable/disable a macro (like `complex_dsp`) without actually modifying the benchmark file(s). You can specify a separate Verilog header file while running a flow/task that contains these macros. For `run_vtr_flow` users, `-include <filename>` needs to be added. For `run_vtr_task` users, `includes_dir` and `include_list_add` need to be specified in the task file. An example task file can be seen [here](https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/master/vtr_flow/tasks/regression_tests/vtr_reg_basic/hdl_include/config/config.txt).
16+
From a flow perspective, you can enable/disable a macro (like `complex_dsp`) without actually modifying the benchmark file(s). You can specify a separate Verilog header file while running a flow/task that contains these macros. For `run_vtr_flow` users, `-include <filename>` needs to be added. For `run_vtr_task` users, `includes_dir` and `include_list_add` need to be specified in the task file. An example task file can be seen [here](https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/master/vtr_flow/vtr_reg_basic/hdl_include/config/config.txt).
1717

1818
Using hard macros for DSPs and BRAMs to utilize advanced features (like chaining) is common in modern designs used with contemporary FPGAs. When using these benchmarks and enabling these advanced features, an FPGA architecture that supports these features must be provided. Supporting these features implies that the architecture XML file provided to VTR must describe such features (e.g. by defining a hard block macro DSP slice). We provide such architectures with Koios. The FPGA architectures with advanced DSP that work out-of-the-box with Koios benchmarks are available here:
1919

@@ -30,16 +30,37 @@ If users want to use a different FPGA architecture file, they can replace the ma
3030
In Koios 2.0, there are 8 synthetic/proxy benchmarks. These were generated using a framework that is present [here](https://github.com/UT-LCA/koios_proxy_benchmarks). To generate more benchmarks using this framework, use the generate_benchmark.py script.
3131

3232
## Regressions
33-
Koios benchmarks are tested by the following regression tests in VTR:
34-
| Suite |Test Description | Config file | Wall-clock time |
35-
|---------------|----------------------|---------------|-------------------|
36-
| Strong | A test circuit. Goal is to check the architecture files. | tasks/regression_tests/vtr_reg_strong/koios | 6 seconds |
37-
| Strong | Same test circuit without enabling complex dsp features | tasks/regression_tests/vtr_reg_strong/koios_no_complex_dsp | 6 seconds|
38-
| Nightly | Small-to-medium sized designs from Koios run with one arch file | tasks/regression_tests/vtr_reg_nightly_test6/koios | 2 hours with -j3 |
39-
| Nightly | Small-to-medium sized designs from Koios run with an arch file without enabling complex dsp features | tasks/regression_tests/vtr_reg_nightly_test6/koios_no_complex_dsp | 2 hours with -j3 |
40-
| Nightly | A small design from Koios run with various flavors of the arch file that enables complex dsp features | tasks/regression_tests/vtr_reg_nightly_test6/koios_multi_arch | 2 hours with -j3 |
41-
| Weekly | Large designs from Koios run with one arch file | tasks/regression_tests/vtr_reg_weekly/koios | a little over 24 hours with -j4 |
42-
| Weekly | Large designs from Koios run with an arch file without enabling complex dsp features | tasks/regression_tests/vtr_reg_weekly/koios_no_complex_dsp | a little over 24 hours with -j4 |
33+
Koios benchmarks are tested by the following tasks in VTR:
34+
| Suite |Test Description | Target | Complex DSP Features | Config file | Frontend | Parser |
35+
|---------------|----------------------|---------------|---------------|---------------|---------------|---------------|
36+
| Nightly | Medium designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_nightly_test4/koios_medium | Parmys | |
37+
| Nightly | Medium designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_nightly_test4/koios_medium_no_hb | Parmys | |
38+
| Nightly | Medium designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_nightly_test4_odin/koios_medium | Odin | |
39+
| Nightly | Medium designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_nightly_test4_odin/koios_medium_no_hb | Odin | |
40+
| Weekly | Large designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_weekly/koios_large | Parmys | |
41+
| Weekly | Large designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_weekly/koios_large_no_hb | Parmys | |
42+
| Weekly | Large designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_weekly/koios_large_odin | Odin | |
43+
| Weekly | Large designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_weekly/koios_large_no_hb_odin | Odin | |
44+
| Weekly | Proxy designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_weekly/koios_proxy | Parmys | |
45+
| Weekly | Proxy designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_weekly/koios_proxy_no_hb | Parmys | |
46+
| Weekly | deepfreeze designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_weekly/koios_sv | Parmys | System-Verilog |
47+
| Weekly | deepfreeze designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_weekly/koios_sv_no_hb | Parmys | System-Verilog |
48+
49+
The following are only for regression testing and less important for benchmarking:
50+
| Suite |Test Description | Target | Complex DSP Features | Config file | Frontend |
51+
|---------------|----------------------|---------------|---------------|---------------|---------------|
52+
| Strong | A test circuit to check the architecture file | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_strong/koios_test | Parmys |
53+
| Strong | Same test circuit without hard blocks | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_strong/koios_test_no_hb | Parmys |
54+
| Strong | A test circuit to check the architecture file | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_strong_odin/koios_test | Odin |
55+
| Strong | Same test circuit without hard blocks | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_strong_odin/koios_test_no_hb | Odin |
56+
| Nightly | The `conv_layer.v` design | multiple | &#10003; | vtr_reg_nightly_test4/koios_medium_multi_arch | Parmys |
57+
| Nightly | The `conv_layer.v` design | multiple | &#10003; | vtr_reg_nightly_test4_odin/koios_medium_multi_arch | Odin |
58+
| Nightly | Other designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_nightly_test6/koios_other | Parmys |
59+
| Nightly | Other designs | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | | vtr_reg_nightly_test6/koios_other_no_hb | Parmys |
60+
| Nightly | The `bwave_like.fixed.small.v` design | multiple | &#10003; | vtr_reg_nightly_test6/koios_other_multi_arch | Parmys |
61+
| Weekly | The `dla_like.large.v` design | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_weekly/koios_dla_large | Parmys |
62+
| Weekly | The `bwave_like.float.large.v` design | k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml | &#10003; | vtr_reg_weekly/koios_bwave_float_large | Parmys | |
63+
4364

4465
## Collecting QoR measurements
4566
For collecting QoR measurements on Koios benchmarks, follow the instructions [here](https://docs.verilogtorouting.org/en/latest/README.developers/#example-koios-benchmarks-qor-measurement).

vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios/config/config.txt renamed to vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_other/config/config.txt

File renamed without changes.

vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios/config/golden_results.txt renamed to vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_other/config/golden_results.txt

File renamed without changes.

vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_multi_arch/config/config.txt renamed to vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_other_multi_arch/config/config.txt

File renamed without changes.

vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_multi_arch/config/golden_results.txt renamed to vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_other_multi_arch/config/golden_results.txt

File renamed without changes.

vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_no_hard_block/config/config.txt renamed to vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_other_no_hb/config/config.txt

File renamed without changes.

vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_no_hard_block/config/golden_results.txt renamed to vtr_flow/tasks/regression_tests/vtr_reg_nightly_test6/koios_other_no_hb/config/golden_results.txt

File renamed without changes.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
regression_tests/vtr_reg_nightly_test6/koios_multi_arch
2-
regression_tests/vtr_reg_nightly_test6/koios
3-
regression_tests/vtr_reg_nightly_test6/koios_no_hard_block
1+
regression_tests/vtr_reg_nightly_test6/koios_other_multi_arch
2+
regression_tests/vtr_reg_nightly_test6/koios_other
3+
regression_tests/vtr_reg_nightly_test6/koios_other_no_hb

vtr_flow/tasks/regression_tests/vtr_reg_strong/koios/config/config.txt renamed to vtr_flow/tasks/regression_tests/vtr_reg_strong/koios_test/config/config.txt

File renamed without changes.

vtr_flow/tasks/regression_tests/vtr_reg_strong/koios/config/golden_results.txt renamed to vtr_flow/tasks/regression_tests/vtr_reg_strong/koios_test/config/golden_results.txt

File renamed without changes.

0 commit comments

Comments
 (0)