Skip to content

Commit 451fb4d

Browse files
authored
Merge pull request #2479 from verilog-to-routing/noc_qor_doc_issue
Noc QoR measurement
2 parents 6ad1de4 + 844b9d2 commit 451fb4d

File tree

105 files changed

+768
-71
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+768
-71
lines changed

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,19 @@ vtr_flow/benchmarks/titan_blif/titan23
3838
vtr_flow/benchmarks/titan_blif/titan_new
3939

4040

41+
#
42+
# NoC MLP benchmarks
43+
#
44+
# We ignore blif and vqm files because of thier large size.
45+
# We also ignore symbolic links to traffic flow and blif files.
46+
#
47+
vtr_flow/benchmarks/noc/Large_Designs/MLP/**/*.vqm
48+
vtr_flow/benchmarks/noc/Large_Designs/MLP/**/*.blif
49+
vtr_flow/benchmarks/noc/Large_Designs/MLP/blif_files/*
50+
vtr_flow/benchmarks/noc/Large_Designs/MLP/traffic_flow_files/*
51+
MLP_Benchmark_Netlist_Files_blif.tar.gz
52+
MLP_Benchmark_Netlist_Files_vqm_blif.tar.gz
53+
4154
#
4255
# ISPD benchmarks
4356
#

CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,14 @@ add_custom_target(get_titan_benchmarks
341341
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
342342
COMMENT "Downloading (~1GB) and extracting Titan benchmarks (~10GB) into VTR source tree.")
343343

344+
#
345+
# NoC MLP Benchmarks
346+
#
347+
add_custom_target(get_noc_mlp_benchmarks
348+
COMMAND ./vtr_flow/scripts/download_noc_mlp.py --vtr_flow_dir ./vtr_flow
349+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
350+
COMMENT "Downloading (~100MB) and extracting NoC MLP benchmarks (~3.2GB) into VTR source tree.")
351+
344352
#
345353
# ISPD Benchmarks
346354
#

README.developers.md

Lines changed: 52 additions & 10 deletions

doc/README

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Overview
44
The VTR documentation is generated using sphinx, a python based documentation generator.
55

66
The documentation itself is written in re-structured text (files ending in .rst), which
7-
is a lightwieght mark-up language for text documents.
7+
is a lightweight mark-up language for text documents.
88

99
Currently VTR's documenation is automatically built by https://readthedocs.org/projects/vtr/ and is served at:
1010

@@ -36,7 +36,7 @@ from the main documentation directory (i.e. <vtr_root>/doc).
3636

3737
This will produce the output html in the _build directory.
3838

39-
You can then view the resulting documention with the web-browser of your choice.
39+
You can then view the resulting documentation with the web-browser of your choice.
4040
For instance:
4141

4242
$ firefox _build/html/index.html

doc/src/vtr/benchmarks.rst

Lines changed: 14 additions & 1 deletion

vtr_flow/benchmarks/noc/Large_Designs/MLP/Readme.txt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,17 @@ Benchmark Structure:
1212
|---<Benchmark>.flows - Is the NoC traffic flows file associated with the given benchmark
1313
(A benchmark can have multiple traffic flows files)
1414
|---verilog - Contains design files needed to generate the netlist file for the benchmark
15-
|---shared_verilog - Contains design files needed by all benchmarks to generate thier netlist files
15+
|---shared_verilog - Contains design files needed by all benchmarks to generate their netlist files
16+
|---blif_files - Contains symbolic links to all .blif files that exist in this directory
17+
|---flow_files - Contains symbolic links to all .flow files that exist in this directory
1618

1719
Running the benchmarks:
1820
Pre-requisite
1921
- Ensure VPR is built (refer to 'https://docs.verilogtorouting.org/en/latest/' for build instructions)
2022
- Set 'VTR_ROOT' as environment variable pointing to the location of the VTR source tree
2123
- Ensure python version 3.6.9 or higher is installed
2224
- Copy over the netlist files from 'https://drive.google.com/drive/folders/135QhmfgUaGnK2ZEfbfEXtdm1BfS7YoG7?usp=sharing'.
23-
The file structure in the previous link is similiar to structure found in '$VTR_ROOT/vtr_flow/benchmarks/noc/Large_Designs/MLP'.
25+
The file structure in the previous link is similar to structure found in '$VTR_ROOT/vtr_flow/benchmarks/noc/Large_Designs/MLP'.
2426
Place the netlist files in the appropriate folder locations.
2527

2628
Running single instance:
@@ -48,7 +50,7 @@ Running the benchmarks:
4850
-vpr_executable $VTR_ROOT/build/vpr/vpr --device EP4SE820 -flow_file $VTR_ROOT/vtr_flow/benchmarks/noc/Large_Designs/MLP/MLP_1/mlp_1.flows \
4951
-noc_routing_algorithm xy_routing -number_of_seeds 5 -number_of_threads 1 -route
5052

51-
- The above command will generate an output file in the run directory that contains all the place and route metrics. This is a txt file with a name which matches the
53+
- The above command will generate an output file in the run directory that contains all the place and route metrics. This is a txt file with a name which matches
5254
the flows file provided. So for the command shown above the output file is 'mlp_1.txt'
5355

5456
Special benchmarks:
@@ -64,8 +66,14 @@ Running the benchmarks:
6466
of the NoC routers needs to be locked. A
6567
- To run a single instance of this benchmark, pass in the following command line parameter and its value to the command shown above:
6668
'--fix_clusters $VTR_ROOT/vtr_flow/benchmarks/noc/Large_Designs/MLP/MLP_2_phase_optimization/MLP_2_phase_optimization_step_2/MLP_two_phase_optimization_step_two_constraints.place'
67-
- To run the benchmarkusing the automated script just pass in the following command line parameter and its value to the script command above:
69+
- To run the benchmarking the automated script just pass in the following command line parameter and its value to the script command above:
6870
'-fix_clusters $VTR_ROOT/vtr_flow/benchmarks/noc/Large_Designs/MLP/MLP_2_phase_optimization/MLP_2_phase_optimization_step_2/MLP_two_phase_optimization_step_two_constraints.place'
71+
72+
Running VTR tasks:
73+
- All synthetic benchmarks can be run as VTR tasks. Example tasks are provided in vtr_flow/tasks/noc_qor
74+
- Instructions on how to run VTR tasks to measure QoR for NoC benchmarks in available in VTR Developer Guide.
75+
- Link to VTR Developer Guide: https://docs.verilogtorouting.org/en/latest/README.developers/#example-noc-benchmarks-qor-measurements
76+
6977
Expected run time:
7078
- These benchmarks are quite large so the maximum expected run time for a single run is a few hours
7179
- To speed up the run time with multiple VPR runs the thread count can be increased from 1. Set thread count equal to number seeds for fastest run time.

vtr_flow/benchmarks/noc/Synthetic_Designs/Readme.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ Benchmark Structure:
88
|---<Benchmark>.flows - Is the NoC traffic flows file associated with the given benchmark
99
(A benchmark can have multiple traffic flows files)
1010
|---verilog - Contains design files needed to generate the netlist file for the benchmark
11-
|---shared_verilog - Contains design files needed by all benchmarks to generate thier netlist files
11+
|---shared_verilog - Contains design files needed by all benchmarks to generate their netlist files
12+
|---blif_files - Contains symbolic links to all .blif files that exist in this directory
13+
|---flow_files - Contains symbolic links to all .flow files that exist in this directory
1214

1315
Running the benchmarks:
1416
Pre-requisite
@@ -42,7 +44,12 @@ Running the benchmarks:
4244
-noc_routing_algorithm xy_routing -noc_swap_percentage 40 -number_of_seeds 5 -number_of_threads 1
4345

4446
- The above command will generate an output file in the run directory that contains all the place and route metrics. This is a txt file with a name which matches the
45-
the flows file provided. So for the command shown above the outout file is 'complex_2_noc_1D_chain.txt'
47+
flows file provided. So for the command shown above the output file is 'complex_2_noc_1D_chain.txt'
48+
49+
Running VTR tasks:
50+
- All synthetic benchmarks can be run as VTR tasks. Example tasks are provided in vtr_flow/tasks/noc_qor
51+
- Instructions on how to run VTR tasks to measure QoR for NoC benchmarks in available in VTR Developer Guide.
52+
- Link to VTR Developer Guide: https://docs.verilogtorouting.org/en/latest/README.developers/#example-noc-benchmarks-qor-measurements
4653

4754
Expected run time:
4855
- These benchmarks are quite small so the maximum expected run time for a single run is ~30 minutes
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_16_noc_1D_chain/complex_16_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_2_noc_1D_chain/complex_2_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_clique/complex_32_noc_clique.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_noc_star.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_4_noc_1D_chain/complex_4_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_64_noc_clique/complex_64_noc_clique.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_64_noc_nearest_neighbor/complex_64_noc_nearest_neighbor.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_64_noc_star/complex_64_noc_star.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_8_noc_1D_chain/complex_8_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_16_noc_1D_chain/simple_16_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_2_noc_1D_chain/simple_2_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_32_noc_clique/simple_32_noc_clique.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_32_noc_star/simple_32_noc_star.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_4_noc_1D_chain/simple_4_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_64_noc_2D_chain/simple_64_noc_2D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_64_noc_clique/simple_64_noc_clique.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_64_noc_star/simple_64_noc_star.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././simple_8_noc_1D_chain/simple_8_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././spread_2_noc_1D_chain/spread_2_noc_1D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././spread_32_noc_clique/spread_32_noc_clique.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././spread_32_noc_star/spread_32_noc_star.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././spread_64_noc_2D_chain/spread_64_noc_2D_chain.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././spread_64_noc_clique/spread_64_noc_clique.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././spread_64_noc_star/spread_64_noc_star.blif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_16_noc_1D_chain/complex_16_noc_1D_chain.flows
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_2_noc_1D_chain/complex_2_noc_1D_chain.flows
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_clique/complex_32_noc_clique.flows
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_noc_star.flows
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_noc_star_no_constraints.flows
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_star_12_latency_constraints.flows
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_star_24_latency_constraints.flows
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_star_2_bandwdiths.flows
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_star_31_latency_constraints.flows
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_star_3_bandwdiths.flows
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_star_4_bandwdiths.flows
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.././complex_32_noc_star/complex_32_star_4_latency_constraints.flows

0 commit comments

Comments
 (0)