Skip to content

Commit 71a0ee5

Browse files
authored
Merge branch 'master' into fix_sdc
2 parents c218cbf + b04f8c5 commit 71a0ee5

File tree

723 files changed

+49904
-12627
lines changed

Some content is hidden

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

723 files changed

+49904
-12627
lines changed

.github/scripts/install_dependencies.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ sudo apt install -y \
2929
libncurses5-dev \
3030
libx11-dev \
3131
libxft-dev \
32+
libxml2-utils \
3233
libxml++2.6-dev \
3334
libreadline-dev \
3435
tcllib \

.github/workflows/containers.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
steps:
1717

1818
- name: 🧰 Repository Checkout
19-
uses: actions/checkout@v3
19+
uses: actions/checkout@v4
2020
with:
2121
submodules: 'true'
2222

.github/workflows/labeler.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
name: "Pull Request Labeler"
22
on:
3-
- pull_request
3+
- pull_request_target
44

55
jobs:
66
triage:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v3
9+
- uses: actions/checkout@v4
1010
- uses: actions/labeler@master
1111
with:
1212
repo-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/test.yml

Lines changed: 56 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ jobs:
5151

5252
steps:
5353

54+
# TODO: This runnner is running on a self-hosted CPU. In order to upgrade
55+
# to v4, need to upgrade the machine to support node20.
5456
- uses: actions/checkout@v3
5557
with:
5658
submodules: 'true'
@@ -71,9 +73,12 @@ jobs:
7173
VTR_CMAKE_PARAMS: ${{ matrix.cmake }}
7274
NUM_CORES: ${{ matrix.cores }}
7375

74-
- uses: actions/upload-artifact@v3
75-
if: ${{ always() }}
76+
- name: Upload test results
77+
# TODO: This runnner is running on a self-hosted CPU. In order to upgrade
78+
# to v4, need to upgrade the machine to support node20.
79+
uses: actions/upload-artifact@v3
7680
with:
81+
name: ${{matrix.test}}_test_results
7782
path: |
7883
**/results*.gz
7984
**/plot_*.svg
@@ -92,10 +97,10 @@ jobs:
9297
- { build_type: 'debug', verbose: '1' }
9398
steps:
9499

95-
- uses: actions/setup-python@v4
100+
- uses: actions/setup-python@v5
96101
with:
97102
python-version: 3.10.10
98-
- uses: actions/checkout@v3
103+
- uses: actions/checkout@v4
99104
with:
100105
submodules: 'true'
101106
- run: ./.github/scripts/install_dependencies.sh
@@ -122,10 +127,10 @@ jobs:
122127
name: 'F: ${{ matrix.name }}'
123128
steps:
124129

125-
- uses: actions/setup-python@v4
130+
- uses: actions/setup-python@v5
126131
with:
127132
python-version: 3.10.10
128-
- uses: actions/checkout@v3
133+
- uses: actions/checkout@v4
129134
- run: ./.github/scripts/install_dependencies.sh
130135

131136
- name: Test
@@ -137,10 +142,10 @@ jobs:
137142
runs-on: ubuntu-22.04
138143
steps:
139144

140-
- uses: actions/setup-python@v4
145+
- uses: actions/setup-python@v5
141146
with:
142147
python-version: 3.10.10
143-
- uses: actions/checkout@v3
148+
- uses: actions/checkout@v4
144149
with:
145150
submodules: 'true'
146151
- run: ./.github/scripts/install_dependencies.sh
@@ -156,10 +161,10 @@ jobs:
156161
runs-on: ubuntu-22.04
157162
steps:
158163

159-
- uses: actions/setup-python@v4
164+
- uses: actions/setup-python@v5
160165
with:
161166
python-version: 3.10.10
162-
- uses: actions/checkout@v3
167+
- uses: actions/checkout@v4
163168
with:
164169
submodules: 'true'
165170
- run: ./.github/scripts/install_dependencies.sh
@@ -184,52 +189,62 @@ jobs:
184189
include: [
185190
{
186191
name: 'Basic',
187-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
192+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
188193
suite: 'vtr_reg_basic'
189194
},
190195
{
191196
name: 'Basic_odin',
192-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
197+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
193198
suite: 'vtr_reg_basic_odin'
194199
},
195200
{
196201
name: 'Basic with NO_GRAPHICS',
197-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=off',
202+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=off',
203+
suite: 'vtr_reg_basic'
204+
},
205+
{
206+
name: 'Basic with NO_SERVER',
207+
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=on -DVPR_USE_SERVER=off',
208+
suite: 'vtr_reg_basic'
209+
},
210+
{
211+
name: 'Basic with CAPNPROTO disabled',
212+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_CAPNPROTO=off',
198213
suite: 'vtr_reg_basic'
199214
},
200215
{
201216
name: 'Basic with VTR_ENABLE_DEBUG_LOGGING',
202-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on',
217+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on',
203218
suite: 'vtr_reg_basic'
204219
},
205220
{
206221
name: 'Basic_odin with VTR_ENABLE_DEBUG_LOGGING',
207-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
222+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
208223
suite: 'vtr_reg_basic_odin'
209224
},
210225
{
211226
name: 'Strong',
212-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
227+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
213228
suite: 'vtr_reg_strong'
214229
},
215230
{
216231
name: 'Strong_odin',
217-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
232+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
218233
suite: 'vtr_reg_strong_odin'
219234
},
220235
{
221236
name: 'Valgrind Memory',
222-
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
237+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
223238
suite: 'vtr_reg_valgrind_small'
224239
}
225240
]
226241
name: 'R: ${{ matrix.name }}'
227242
steps:
228243

229-
- uses: actions/setup-python@v4
244+
- uses: actions/setup-python@v5
230245
with:
231246
python-version: 3.10.10
232-
- uses: actions/checkout@v3
247+
- uses: actions/checkout@v4
233248
with:
234249
submodules: 'true'
235250
- run: ./.github/scripts/install_dependencies.sh
@@ -245,7 +260,7 @@ jobs:
245260
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2
246261
247262
- name: Upload regression run files
248-
uses: actions/upload-artifact@v3
263+
uses: actions/upload-artifact@v4
249264
with:
250265
name: ${{matrix.name}}_run_files
251266
path: |
@@ -256,7 +271,7 @@ jobs:
256271
vtr_flow/**/*.r
257272
258273
- name: Upload regression results
259-
uses: actions/upload-artifact@v3
274+
uses: actions/upload-artifact@v4
260275
with:
261276
name: ${{matrix.name}}_results
262277
path: |
@@ -281,10 +296,10 @@ jobs:
281296
name: 'S: ${{ matrix.name }}'
282297
steps:
283298

284-
- uses: actions/setup-python@v4
299+
- uses: actions/setup-python@v5
285300
with:
286301
python-version: 3.10.10
287-
- uses: actions/checkout@v3
302+
- uses: actions/checkout@v4
288303
with:
289304
submodules: 'true'
290305

@@ -297,7 +312,13 @@ jobs:
297312
CMAKE_PARAMS: ${{ matrix.params }}
298313
BUILD_TYPE: debug
299314
LSAN_OPTIONS: 'exitcode=42' #Use a non-standard exit code to ensure LSAN errors are detected
315+
# In Ubuntu 20240310.1.0, the entropy of ASLR has increased (28 -> 32). LLVM 14 in this
316+
# image is not compatible with this increased ASLR entropy. Apparently, memory sanitizer
317+
# depends on LLVM and all CI tests where VTR_ENABLE_SANITIZE is enabled fail. For a temporary
318+
# fix, we manually reduce the entropy. This quick fix should be removed in the future
319+
# when github deploys a more stable Ubuntu image.
300320
run: |
321+
sudo sysctl -w vm.mmap_rnd_bits=28
301322
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
302323
./.github/scripts/build.sh
303324
# We skip QoR since we are only checking for errors in sanitizer runs
@@ -309,10 +330,10 @@ jobs:
309330
runs-on: ubuntu-22.04
310331
steps:
311332

312-
- uses: actions/setup-python@v4
333+
- uses: actions/setup-python@v5
313334
with:
314335
python-version: 3.10.10
315-
- uses: actions/checkout@v3
336+
- uses: actions/checkout@v4
316337
with:
317338
submodules: 'true'
318339
- run: ./.github/scripts/install_dependencies.sh
@@ -334,10 +355,10 @@ jobs:
334355
runs-on: ubuntu-22.04
335356
steps:
336357

337-
- uses: actions/setup-python@v4
358+
- uses: actions/setup-python@v5
338359
with:
339360
python-version: 3.10.10
340-
- uses: actions/checkout@v3
361+
- uses: actions/checkout@v4
341362
with:
342363
submodules: 'true'
343364
- run: ./.github/scripts/install_dependencies.sh
@@ -349,6 +370,7 @@ jobs:
349370
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on'
350371
BUILD_TYPE: debug
351372
run: |
373+
sudo sysctl -w vm.mmap_rnd_bits=28
352374
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
353375
./.github/scripts/build.sh
354376
./run_reg_test.py odin_reg_basic -show_failures -j2
@@ -359,10 +381,10 @@ jobs:
359381
runs-on: ubuntu-22.04
360382
steps:
361383

362-
- uses: actions/setup-python@v4
384+
- uses: actions/setup-python@v5
363385
with:
364386
python-version: 3.10.10
365-
- uses: actions/checkout@v3
387+
- uses: actions/checkout@v4
366388
with:
367389
submodules: 'true'
368390
- run: ./.github/scripts/install_dependencies.sh
@@ -394,10 +416,10 @@ jobs:
394416
name: 'B: ${{ matrix.name }}'
395417
steps:
396418

397-
- uses: actions/setup-python@v4
419+
- uses: actions/setup-python@v5
398420
with:
399421
python-version: 3.10.10
400-
- uses: actions/checkout@v3
422+
- uses: actions/checkout@v4
401423
with:
402424
submodules: 'true'
403425
- run: ./.github/scripts/install_dependencies.sh
@@ -430,10 +452,10 @@ jobs:
430452
runs-on: ubuntu-22.04
431453
steps:
432454

433-
- uses: actions/setup-python@v4
455+
- uses: actions/setup-python@v5
434456
with:
435457
python-version: 3.10.10
436-
- uses: actions/checkout@v3
458+
- uses: actions/checkout@v4
437459
with:
438460
submodules: 'true'
439461
- run: ./.github/scripts/install_dependencies.sh

.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
#

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
[submodule "libs/EXTERNAL/libcatch2"]
22
path = libs/EXTERNAL/libcatch2
33
url = https://github.com/catchorg/Catch2.git
4+
[submodule "libs/EXTERNAL/sockpp"]
5+
path = libs/EXTERNAL/sockpp
6+
#url = [email protected]:fpagliughi/sockpp.git
7+
url = [email protected]:w0lek/sockpp.git # fork where in branch v1.0.0_no_complication_warnings there are compilation warnings fixes for upstream tag v1.0.0 of sockpp

CMakeLists.txt

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ set(VTR_IPO_BUILD "auto" CACHE STRING "Should VTR be compiled with interprocedur
2323
set_property(CACHE VTR_IPO_BUILD PROPERTY STRINGS auto on off)
2424

2525
#Allow the user to configure how much assertion checking should occur
26-
set(VTR_ASSERT_LEVEL "2" CACHE STRING "VTR assertion checking level. 0: no assertions, 1: fast assertions, 2: regular assertions, 3: additional assertions with noticable run-time overhead, 4: all assertions (including those with significant run-time cost)")
26+
set(VTR_ASSERT_LEVEL "2" CACHE STRING "VTR assertion checking level. 0: no assertions, 1: fast assertions, 2: regular assertions, 3: additional assertions with noticeable run-time overhead, 4: all assertions (including those with significant run-time cost)")
2727
set_property(CACHE VTR_ASSERT_LEVEL PROPERTY STRINGS 0 1 2 3 4)
2828

2929
option(VTR_ENABLE_STRICT_COMPILE "Specifies whether compiler warnings should be treated as errors (e.g. -Werror)" OFF)
@@ -39,6 +39,9 @@ set(VPR_USE_EZGL "auto" CACHE STRING "Specify whether vpr uses the graphics libr
3939
set_property(CACHE VPR_USE_EZGL PROPERTY STRINGS auto off on)
4040
option(VTR_ENABLE_CAPNPROTO "Enable capnproto binary serialization support in VPR." ON)
4141

42+
#Allow the user to decide whether to compile the server module
43+
option(VPR_USE_SERVER "Specify whether vpr enables the server mode" ON)
44+
4245
#Allow the user to enable/disable VPR analytic placement
4346
#VPR option --enable_analytic_placer is also required for Analytic Placement
4447
option(VPR_ANALYTIC_PLACE "Enable analytic placement in VPR." ON)
@@ -341,6 +344,14 @@ add_custom_target(get_titan_benchmarks
341344
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
342345
COMMENT "Downloading (~1GB) and extracting Titan benchmarks (~10GB) into VTR source tree.")
343346

347+
#
348+
# NoC MLP Benchmarks
349+
#
350+
add_custom_target(get_noc_mlp_benchmarks
351+
COMMAND ./vtr_flow/scripts/download_noc_mlp.py --vtr_flow_dir ./vtr_flow
352+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
353+
COMMENT "Downloading (~100MB) and extracting NoC MLP benchmarks (~3.2GB) into VTR source tree.")
354+
344355
#
345356
# ISPD Benchmarks
346357
#
@@ -410,11 +421,13 @@ if(${WITH_PARMYS}) # define cmake params to compile Yosys
410421
set(MAKE_PROGRAM "make")
411422
endif()
412423

413-
if(NOT DEFINED "${CMAKE_BUILD_PARALLEL_LEVEL}")
414-
set(CUSTOM_BUILD_PARALLEL_LEVEL 16)
415-
else()
416-
set(CUSTOM_BUILD_PARALLEL_LEVEL "${CMAKE_BUILD_PARALLEL_LEVEL}")
417-
endif()
424+
# Commented out since a make file should not call another make command with
425+
# threads. It should pass this information from the parent automatically.
426+
# if(NOT DEFINED "${CMAKE_BUILD_PARALLEL_LEVEL}")
427+
# set(CUSTOM_BUILD_PARALLEL_LEVEL 16)
428+
# else()
429+
# set(CUSTOM_BUILD_PARALLEL_LEVEL "${CMAKE_BUILD_PARALLEL_LEVEL}")
430+
# endif()
418431
add_subdirectory(yosys)
419432
endif()
420433

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:20.04
1+
FROM ubuntu:22.04
22
ARG DEBIAN_FRONTEND=noninteractive
33
# set out workspace
44
ENV WORKSPACE=/workspace
@@ -19,6 +19,7 @@ RUN apt-get update -qq \
1919
libtbb-dev \
2020
python3-pip \
2121
git \
22+
time \
2223
# Install python packages
2324
&& pip install -r requirements.txt \
2425
# Cleanup

0 commit comments

Comments
 (0)