Skip to content

Commit 5f8b499

Browse files
committed
Merge branch 'master' into improve_clustering_gain_updates
2 parents 319b46e + 89dffd5 commit 5f8b499

File tree

106 files changed

+4934
-248
lines changed

Some content is hidden

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

106 files changed

+4934
-248
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
# vtr_reg_yosys test runs the VTR benchmarks through
3+
# the entire VTR with Yosys as the first CAD tool
4+
5+
build_file: "vtr-verilog-to-routing/.github/kokoro/run-vtr.sh"
6+
7+
# 72 hours
8+
timeout_mins: 4320
9+
10+
action {
11+
define_artifacts {
12+
# File types
13+
regex: "**/*.out"
14+
regex: "**/vpr_stdout.log"
15+
regex: "**/parse_results.txt"
16+
regex: "**/qor_results.txt"
17+
regex: "**/pack.log"
18+
regex: "**/place.log"
19+
regex: "**/route.log"
20+
regex: "**/*_qor.csv"
21+
regex: "**/*.out.gz"
22+
regex: "**/vpr_stdout.log.gz"
23+
regex: "**/parse_results.txt.gz"
24+
regex: "**/qor_results.txt.gz"
25+
regex: "**/pack.log.gz"
26+
regex: "**/place.log.gz"
27+
regex: "**/route.log.gz"
28+
regex: "**/*_qor.csv.gz"
29+
strip_prefix: "github/vtr-verilog-to-routing/"
30+
}
31+
}
32+
33+
env_vars {
34+
key: "KOKORO_TYPE"
35+
value: "continuous"
36+
}
37+
38+
env_vars {
39+
key: "KOKORO_DIR"
40+
value: "vtr-verilog-to-routing"
41+
}
42+
43+
env_vars {
44+
key: "VTR_DIR"
45+
value: "vtr-verilog-to-routing"
46+
}
47+
48+
#Use default build configuration
49+
env_vars {
50+
key: "VTR_CMAKE_PARAMS"
51+
value: "-DWITH_YOSYS=ON"
52+
}
53+
54+
env_vars {
55+
key: "VTR_TEST"
56+
value: "vtr_reg_yosys"
57+
}
58+
59+
#Options for run_reg_test.py
60+
# -show_failures: show tool failures in main log output
61+
env_vars {
62+
key: "VTR_TEST_OPTIONS"
63+
value: "-show_failures"
64+
}
65+
66+
env_vars {
67+
key: "NUM_CORES"
68+
value: "8"
69+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
# vtr_reg_yosys test runs the VTR benchmarks through
3+
# the entire VTR with Yosys as the first CAD tool
4+
5+
build_file: "vtr-verilog-to-routing/.github/kokoro/run-vtr.sh"
6+
7+
# 72 hours
8+
timeout_mins: 4320
9+
10+
action {
11+
define_artifacts {
12+
# File types
13+
regex: "**/*.out"
14+
regex: "**/vpr_stdout.log"
15+
regex: "**/parse_results.txt"
16+
regex: "**/qor_results.txt"
17+
regex: "**/pack.log"
18+
regex: "**/place.log"
19+
regex: "**/route.log"
20+
regex: "**/*_qor.csv"
21+
regex: "**/*.out.gz"
22+
regex: "**/vpr_stdout.log.gz"
23+
regex: "**/parse_results.txt.gz"
24+
regex: "**/qor_results.txt.gz"
25+
regex: "**/pack.log.gz"
26+
regex: "**/place.log.gz"
27+
regex: "**/route.log.gz"
28+
regex: "**/*_qor.csv.gz"
29+
strip_prefix: "github/vtr-verilog-to-routing/"
30+
}
31+
}
32+
33+
env_vars {
34+
key: "KOKORO_TYPE"
35+
value: "presubmit"
36+
}
37+
38+
env_vars {
39+
key: "KOKORO_DIR"
40+
value: "vtr-verilog-to-routing"
41+
}
42+
43+
env_vars {
44+
key: "VTR_DIR"
45+
value: "vtr-verilog-to-routing"
46+
}
47+
48+
#Use default build configuration
49+
env_vars {
50+
key: "VTR_CMAKE_PARAMS"
51+
value: "-DWITH_YOSYS=ON"
52+
}
53+
54+
env_vars {
55+
key: "VTR_TEST"
56+
value: "vtr_reg_yosys"
57+
}
58+
59+
#Options for run_reg_test.py
60+
# -show_failures: show tool failures in main log output
61+
env_vars {
62+
key: "VTR_TEST_OPTIONS"
63+
value: "-show_failures"
64+
}
65+
66+
env_vars {
67+
key: "NUM_CORES"
68+
value: "8"
69+
}

.github/workflows/test.yml

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@ jobs:
2525
- uses: actions/checkout@v2
2626
- run: ./.github/scripts/install_dependencies.sh
2727

28+
- uses: hendrikmuhs/ccache-action@v1
29+
2830
- name: Test
2931
env:
3032
BUILD_TYPE: release
31-
run: ./.github/scripts/build.sh
33+
run: |
34+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
35+
./.github/scripts/build.sh
3236
3337
3438
Format:
@@ -81,12 +85,16 @@ jobs:
8185
- uses: actions/checkout@v2
8286
- run: ./.github/scripts/install_dependencies.sh
8387

88+
- uses: hendrikmuhs/ccache-action@v1
89+
8490
- name: Test
8591
env:
8692
#In order to get compilation warnings produced per source file, we must do a non-IPO build
8793
#We also turn warnings into errors for this target by doing a strict compile
8894
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_STRICT_COMPILE=on -DVTR_IPO_BUILD=off"
89-
run: ./.github/scripts/build.sh
95+
run: |
96+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
97+
./.github/scripts/build.sh
9098
9199
92100
Regression:
@@ -130,25 +138,35 @@ jobs:
130138
- uses: actions/checkout@v2
131139
- run: ./.github/scripts/install_dependencies.sh
132140

141+
- uses: hendrikmuhs/ccache-action@v1
142+
133143
- name: Test
134144
env:
135145
CMAKE_PARAMS: ${{ matrix.params }}
136146
run: |
147+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
137148
./.github/scripts/build.sh
138149
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2
139150
140-
- name: Upload artifact
151+
- name: Upload regression run files
141152
uses: actions/upload-artifact@v2
142153
with:
143-
name: failed_${{matrix.name}}_regression_log
154+
name: ${{matrix.name}}_run_files
144155
path: |
145-
vtr_flow/**/*.log
146156
vtr_flow/**/*.out
147157
vtr_flow/**/*.blif
148158
vtr_flow/**/*.p
149159
vtr_flow/**/*.net
150160
vtr_flow/**/*.r
151161
162+
- name: Upload regression results
163+
uses: actions/upload-artifact@v2
164+
with:
165+
name: ${{matrix.name}}_results
166+
path: |
167+
vtr_flow/**/*.log
168+
vtr_flow/**/parse_results*.txt
169+
152170
Sanitized:
153171
runs-on: ubuntu-18.04
154172
strategy:
@@ -166,12 +184,15 @@ jobs:
166184
- uses: actions/checkout@v2
167185
- run: ./.github/scripts/install_dependencies.sh
168186

187+
- uses: hendrikmuhs/ccache-action@v1
188+
169189
- name: Test
170190
env:
171191
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on'
172192
BUILD_TYPE: debug
173193
LSAN_OPTIONS: 'exitcode=42' #Use a non-standard exit code to ensure LSAN errors are detected
174194
run: |
195+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
175196
./.github/scripts/build.sh
176197
# We skip QoR since we are only checking for errors in sanitizer runs
177198
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2 -skip_qor
@@ -188,11 +209,14 @@ jobs:
188209
- uses: actions/checkout@v2
189210
- run: ./.github/scripts/install_dependencies.sh
190211

212+
- uses: hendrikmuhs/ccache-action@v1
213+
191214
- name: Test
192215
env:
193216
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on'
194217
BUILD_TYPE: debug
195218
run: |
219+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
196220
./.github/scripts/build.sh
197221
./run_reg_test.py odin_reg_basic -show_failures -j2
198222
@@ -208,10 +232,13 @@ jobs:
208232
- uses: actions/checkout@v2
209233
- run: ./.github/scripts/install_dependencies.sh
210234

235+
- uses: hendrikmuhs/ccache-action@v1
236+
211237
- name: Test
212238
env:
213239
BUILD_TYPE: release
214240
run: |
241+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
215242
./.github/scripts/build.sh
216243
./utils/vqm2blif/test/scripts/test_vqm2blif.sh
217244
@@ -236,11 +263,14 @@ jobs:
236263
- uses: actions/checkout@v2
237264
- run: ./.github/scripts/install_dependencies.sh
238265

266+
- uses: hendrikmuhs/ccache-action@v1
267+
239268
- name: Test
240269
env:
241270
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on -DODIN_USE_YOSYS=ON'
242271
BUILD_TYPE: debug
243272
run: |
273+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
244274
./.github/scripts/build.sh
245275
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2
246276
@@ -268,12 +298,16 @@ jobs:
268298
- uses: actions/checkout@v2
269299
- run: ./.github/scripts/install_dependencies.sh
270300

301+
- uses: hendrikmuhs/ccache-action@v1
302+
271303
- name: Test
272304
env:
273305
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on"
274306
MATRIX_EVAL: ${{ matrix.eval }}
275307
BUILD_TYPE: ${{ matrix.build }}
276-
run: ./.github/scripts/build.sh
308+
run: |
309+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
310+
./.github/scripts/build.sh
277311
278312
279313
Coverity:
@@ -298,9 +332,13 @@ jobs:
298332
- uses: actions/checkout@v2
299333
- run: ./.github/scripts/install_dependencies.sh
300334

335+
- uses: hendrikmuhs/ccache-action@v1
336+
301337
- name: Test
302338
env:
303339
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on'
304340
_COVERITY_URL: 'https://scan.coverity.com/download/linux64'
305341
_COVERITY_MD5: 'd0d7d7df9d6609e578f85096a755fb8f'
306-
run: ./.github/scripts/build.sh
342+
run: |
343+
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
344+
./.github/scripts/build.sh

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@ CMakeFiles
1414
build
1515

1616
#
17-
#VTR Tasks
17+
#VTR Flow/Tasks
1818
#
1919
vtr_flow/tasks/**/run[0-9]*
2020
vtr_flow/tasks/**/run_latest
2121
vtr_flow/tasks/**/latest
2222
vtr_flow/tasks/**/qor_geomean.txt
2323
vtr_flow/tasks/**/task_summary/
2424
quick_test/*
25+
temp/
2526

2627
#
2728
# Titan benchmarks

CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ option(ODIN_TIDY "Enable building odin with clang tidy" OFF)
5252
option(ODIN_SANITIZE "Enable building odin with sanitize flags" OFF)
5353

5454
# Allow the user to enable building Yosys
55+
option(WITH_YOSYS "Enable building Yosys" OFF)
5556
option(ODIN_USE_YOSYS "Enable building Yosys" OFF)
5657

5758
set(VTR_VERSION_MAJOR 8)
@@ -381,7 +382,10 @@ if(${WITH_ABC})
381382
add_subdirectory(ace2)
382383
endif()
383384
add_subdirectory(utils)
384-
if(${WITH_ODIN})
385+
# define cmake params to compile Yosys
386+
if(${WITH_YOSYS})
387+
add_definitions("-D_YOSYS_")
388+
elseif(${WITH_ODIN})
385389
add_subdirectory(ODIN_II)
386390
# blifexplorer depends on odin
387391
if(${WITH_BLIFEXPLORER})

ODIN_II/regression_test/benchmark/task/yosys+odin/large/synthesis_result.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@
5858
"Latch Drivers": 1,
5959
"Pi": 273,
6060
"Po": 193,
61-
"logic element": 4141,
62-
"latch": 857,
63-
"Adder": 136,
61+
"logic element": 4204,
62+
"latch": 871,
63+
"Adder": 151,
6464
"Memory": 32,
6565
"generic logic size": 4,
6666
"Longest Path": 428,
6767
"Average Path": 4,
68-
"Estimated LUTs": 4435,
69-
"Total Node": 5167
68+
"Estimated LUTs": 4510,
69+
"Total Node": 5259
7070
},
7171
"large/des_area/k6_frac_N10_frac_chain_mem32K_40nm": {
7272
"test_name": "large/des_area/k6_frac_N10_frac_chain_mem32K_40nm",

ODIN_II/regression_test/benchmark/task/yosys+odin/vtr/synthesis_result.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,15 @@
101101
"Latch Drivers": 1,
102102
"Pi": 273,
103103
"Po": 193,
104-
"logic element": 4141,
105-
"latch": 857,
106-
"Adder": 136,
104+
"logic element": 4204,
105+
"latch": 871,
106+
"Adder": 151,
107107
"Memory": 32,
108108
"generic logic size": 4,
109109
"Longest Path": 428,
110110
"Average Path": 4,
111-
"Estimated LUTs": 4435,
112-
"Total Node": 5167
111+
"Estimated LUTs": 4510,
112+
"Total Node": 5259
113113
},
114114
"vtr/ch_intrinsics/k6_frac_N10_frac_chain_mem32K_40nm": {
115115
"test_name": "vtr/ch_intrinsics/k6_frac_N10_frac_chain_mem32K_40nm",

0 commit comments

Comments
 (0)