Skip to content

Commit

Permalink
Merge branch 'master' into fix_sdc
Browse files Browse the repository at this point in the history
  • Loading branch information
WhiteNinjaZ authored Jun 4, 2024
2 parents c218cbf + b04f8c5 commit 71a0ee5
Show file tree
Hide file tree
Showing 723 changed files with 49,904 additions and 12,627 deletions.
1 change: 1 addition & 0 deletions .github/scripts/install_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ sudo apt install -y \
libncurses5-dev \
libx11-dev \
libxft-dev \
libxml2-utils \
libxml++2.6-dev \
libreadline-dev \
tcllib \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
steps:

- name: 🧰 Repository Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'true'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
name: "Pull Request Labeler"
on:
- pull_request
- pull_request_target

jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/labeler@master
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
90 changes: 56 additions & 34 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ jobs:

steps:

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

- uses: actions/upload-artifact@v3
if: ${{ always() }}
- name: Upload test results
# TODO: This runnner is running on a self-hosted CPU. In order to upgrade
# to v4, need to upgrade the machine to support node20.
uses: actions/upload-artifact@v3
with:
name: ${{matrix.test}}_test_results
path: |
**/results*.gz
**/plot_*.svg
Expand All @@ -92,10 +97,10 @@ jobs:
- { build_type: 'debug', verbose: '1' }
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand All @@ -122,10 +127,10 @@ jobs:
name: 'F: ${{ matrix.name }}'
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: ./.github/scripts/install_dependencies.sh

- name: Test
Expand All @@ -137,10 +142,10 @@ jobs:
runs-on: ubuntu-22.04
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand All @@ -156,10 +161,10 @@ jobs:
runs-on: ubuntu-22.04
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand All @@ -184,52 +189,62 @@ jobs:
include: [
{
name: 'Basic',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
suite: 'vtr_reg_basic'
},
{
name: 'Basic_odin',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
suite: 'vtr_reg_basic_odin'
},
{
name: 'Basic with NO_GRAPHICS',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=off',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=off',
suite: 'vtr_reg_basic'
},
{
name: 'Basic with NO_SERVER',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=on -DVPR_USE_SERVER=off',
suite: 'vtr_reg_basic'
},
{
name: 'Basic with CAPNPROTO disabled',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_CAPNPROTO=off',
suite: 'vtr_reg_basic'
},
{
name: 'Basic with VTR_ENABLE_DEBUG_LOGGING',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on',
suite: 'vtr_reg_basic'
},
{
name: 'Basic_odin with VTR_ENABLE_DEBUG_LOGGING',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
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',
suite: 'vtr_reg_basic_odin'
},
{
name: 'Strong',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
suite: 'vtr_reg_strong'
},
{
name: 'Strong_odin',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on',
suite: 'vtr_reg_strong_odin'
},
{
name: 'Valgrind Memory',
params: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
suite: 'vtr_reg_valgrind_small'
}
]
name: 'R: ${{ matrix.name }}'
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand All @@ -245,7 +260,7 @@ jobs:
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2
- name: Upload regression run files
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{matrix.name}}_run_files
path: |
Expand All @@ -256,7 +271,7 @@ jobs:
vtr_flow/**/*.r
- name: Upload regression results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{matrix.name}}_results
path: |
Expand All @@ -281,10 +296,10 @@ jobs:
name: 'S: ${{ matrix.name }}'
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'

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

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand All @@ -334,10 +355,10 @@ jobs:
runs-on: ubuntu-22.04
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand All @@ -349,6 +370,7 @@ jobs:
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on'
BUILD_TYPE: debug
run: |
sudo sysctl -w vm.mmap_rnd_bits=28
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
./.github/scripts/build.sh
./run_reg_test.py odin_reg_basic -show_failures -j2
Expand All @@ -359,10 +381,10 @@ jobs:
runs-on: ubuntu-22.04
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand Down Expand Up @@ -394,10 +416,10 @@ jobs:
name: 'B: ${{ matrix.name }}'
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand Down Expand Up @@ -430,10 +452,10 @@ jobs:
runs-on: ubuntu-22.04
steps:

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.10.10
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh
Expand Down
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,19 @@ vtr_flow/benchmarks/titan_blif/titan23
vtr_flow/benchmarks/titan_blif/titan_new


#
# NoC MLP benchmarks
#
# We ignore blif and vqm files because of thier large size.
# We also ignore symbolic links to traffic flow and blif files.
#
vtr_flow/benchmarks/noc/Large_Designs/MLP/**/*.vqm
vtr_flow/benchmarks/noc/Large_Designs/MLP/**/*.blif
vtr_flow/benchmarks/noc/Large_Designs/MLP/blif_files/*
vtr_flow/benchmarks/noc/Large_Designs/MLP/traffic_flow_files/*
MLP_Benchmark_Netlist_Files_blif.tar.gz
MLP_Benchmark_Netlist_Files_vqm_blif.tar.gz

#
# ISPD benchmarks
#
Expand Down
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
[submodule "libs/EXTERNAL/libcatch2"]
path = libs/EXTERNAL/libcatch2
url = https://github.com/catchorg/Catch2.git
[submodule "libs/EXTERNAL/sockpp"]
path = libs/EXTERNAL/sockpp
#url = [email protected]:fpagliughi/sockpp.git
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
25 changes: 19 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ set(VTR_IPO_BUILD "auto" CACHE STRING "Should VTR be compiled with interprocedur
set_property(CACHE VTR_IPO_BUILD PROPERTY STRINGS auto on off)

#Allow the user to configure how much assertion checking should occur
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)")
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)")
set_property(CACHE VTR_ASSERT_LEVEL PROPERTY STRINGS 0 1 2 3 4)

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

#Allow the user to decide whether to compile the server module
option(VPR_USE_SERVER "Specify whether vpr enables the server mode" ON)

#Allow the user to enable/disable VPR analytic placement
#VPR option --enable_analytic_placer is also required for Analytic Placement
option(VPR_ANALYTIC_PLACE "Enable analytic placement in VPR." ON)
Expand Down Expand Up @@ -341,6 +344,14 @@ add_custom_target(get_titan_benchmarks
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Downloading (~1GB) and extracting Titan benchmarks (~10GB) into VTR source tree.")

#
# NoC MLP Benchmarks
#
add_custom_target(get_noc_mlp_benchmarks
COMMAND ./vtr_flow/scripts/download_noc_mlp.py --vtr_flow_dir ./vtr_flow
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Downloading (~100MB) and extracting NoC MLP benchmarks (~3.2GB) into VTR source tree.")

#
# ISPD Benchmarks
#
Expand Down Expand Up @@ -410,11 +421,13 @@ if(${WITH_PARMYS}) # define cmake params to compile Yosys
set(MAKE_PROGRAM "make")
endif()

if(NOT DEFINED "${CMAKE_BUILD_PARALLEL_LEVEL}")
set(CUSTOM_BUILD_PARALLEL_LEVEL 16)
else()
set(CUSTOM_BUILD_PARALLEL_LEVEL "${CMAKE_BUILD_PARALLEL_LEVEL}")
endif()
# Commented out since a make file should not call another make command with
# threads. It should pass this information from the parent automatically.
# if(NOT DEFINED "${CMAKE_BUILD_PARALLEL_LEVEL}")
# set(CUSTOM_BUILD_PARALLEL_LEVEL 16)
# else()
# set(CUSTOM_BUILD_PARALLEL_LEVEL "${CMAKE_BUILD_PARALLEL_LEVEL}")
# endif()
add_subdirectory(yosys)
endif()

Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND=noninteractive
# set out workspace
ENV WORKSPACE=/workspace
Expand All @@ -19,6 +19,7 @@ RUN apt-get update -qq \
libtbb-dev \
python3-pip \
git \
time \
# Install python packages
&& pip install -r requirements.txt \
# Cleanup
Expand Down
Loading

0 comments on commit 71a0ee5

Please sign in to comment.