Skip to content

Commit

Permalink
Merge branch 'master' into joshua-xan
Browse files Browse the repository at this point in the history
  • Loading branch information
WhiteNinjaZ authored Oct 15, 2024
2 parents f4f63be + b3b3084 commit 7758044
Show file tree
Hide file tree
Showing 138 changed files with 54,308 additions and 4,459 deletions.
6 changes: 5 additions & 1 deletion .github/scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@ source $(dirname "$0")/common.sh

$SPACER

if [[ -z "${NUM_PROC}" ]]; then
NUM_PROC=1
fi

start_section "vtr.build" "${GREEN}Building..${NC}"
export FAILURE=0
make -k BUILD_TYPE=${BUILD_TYPE} CMAKE_PARAMS="-Werror=dev ${CMAKE_PARAMS} ${CMAKE_INSTALL_PREFIX_PARAMS}" -j2 || export FAILURE=1
make -k BUILD_TYPE=${BUILD_TYPE} CMAKE_PARAMS="-Werror=dev ${CMAKE_PARAMS} ${CMAKE_INSTALL_PREFIX_PARAMS}" -j${NUM_PROC} || export FAILURE=1
end_section "vtr.build"

# When the build fails, produce the failure output in a clear way
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/unittest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $(dirname "$0")/build.sh
$SPACER

start_section "vtr.test.0" "${GREEN}Testing..${NC} ${CYAN}C++ unit tests${NC}"
make test
make test -j${NUM_PROC}
end_section "vtr.test.0"

$SPACER
139 changes: 113 additions & 26 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,20 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- uses: hendrikmuhs/[email protected]

- name: Test
env:
BUILD_TYPE: ${{ matrix.build_type }}
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
./.github/scripts/build.sh VERBOSE=${{ matrix.verbose }}
Expand All @@ -80,7 +87,9 @@ jobs:
with:
python-version: 3.10.10
- uses: actions/checkout@v4
- run: ./.github/scripts/install_dependencies.sh

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- name: Test
run: ./dev/${{ matrix.script }}
Expand All @@ -97,11 +106,18 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- name: Test
env:
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on"
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
run: ./.github/scripts/unittest.sh


Expand All @@ -116,7 +132,13 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- uses: hendrikmuhs/[email protected]

Expand All @@ -125,6 +147,7 @@ jobs:
#In order to get compilation warnings produced per source file, we must do a non-IPO build
#We also turn warnings into errors for this target by doing a strict compile
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_STRICT_COMPILE=on -DVTR_IPO_BUILD=off"
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
./.github/scripts/build.sh
Expand All @@ -139,57 +162,68 @@ jobs:
{
name: 'Basic',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
suite: 'vtr_reg_basic'
suite: 'vtr_reg_basic',
extra_pkgs: ""
},
{
name: 'Basic with highest assertion level',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=4 -DWITH_BLIFEXPLORER=on',
suite: 'vtr_reg_basic'
suite: 'vtr_reg_basic',
extra_pkgs: ""
},
{
name: 'Basic_odin',
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'
suite: 'vtr_reg_basic_odin',
extra_pkgs: ""
},
{
name: 'Basic with NO_GRAPHICS',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=off',
suite: 'vtr_reg_basic'
suite: 'vtr_reg_basic',
extra_pkgs: ""
},
{
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'
suite: 'vtr_reg_basic',
extra_pkgs: ""
},
{
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'
suite: 'vtr_reg_basic',
extra_pkgs: ""
},
{
name: 'Basic with VTR_ENABLE_DEBUG_LOGGING',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on',
suite: 'vtr_reg_basic'
suite: 'vtr_reg_basic',
extra_pkgs: ""
},
{
name: 'Basic_odin with VTR_ENABLE_DEBUG_LOGGING',
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'
suite: 'vtr_reg_basic_odin',
extra_pkgs: ""
},
{
name: 'Strong',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on',
suite: 'vtr_reg_strong'
suite: 'vtr_reg_strong',
extra_pkgs: "libeigen3-dev"
},
{
name: 'Strong_odin',
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'
suite: 'vtr_reg_strong_odin',
extra_pkgs: ""
},
{
name: 'Valgrind Memory',
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on',
suite: 'vtr_reg_valgrind_small'
suite: 'vtr_reg_valgrind_small',
extra_pkgs: ""
}
]
name: 'R: ${{ matrix.name }}'
Expand All @@ -198,20 +232,32 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: 3.10.10

- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- name: Install external libraries
run: sudo apt install -y ${{ matrix.extra_pkgs }}
if: ${{ matrix.extra_pkgs }}

- uses: hendrikmuhs/[email protected]

- name: Test
env:
CMAKE_PARAMS: ${{ matrix.params }}
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
./.github/scripts/build.sh
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2
./run_reg_test.py ${{ matrix.suite }} -show_failures -j${{ steps.cpu-cores.outputs.count}}
- name: Upload regression run files
if: ${{ !cancelled() }}
Expand Down Expand Up @@ -259,7 +305,12 @@ jobs:
with:
submodules: 'true'

- run: ./.github/scripts/install_dependencies.sh
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- uses: hendrikmuhs/[email protected]

Expand All @@ -273,12 +324,13 @@ jobs:
# 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.
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
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
./run_reg_test.py ${{ matrix.suite }} -show_failures -j2 -skip_qor
./run_reg_test.py ${{ matrix.suite }} -show_failures -j${{ steps.cpu-cores.outputs.count }} -skip_qor
Parmys:
Expand All @@ -292,18 +344,25 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- uses: hendrikmuhs/[email protected]

- name: Test
env:
CMAKE_PARAMS: '-DVTR_IPO_BUILD=off'
BUILD_TYPE: debug
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
./.github/scripts/build.sh
./run_reg_test.py parmys_reg_basic -show_failures -j2
./run_reg_test.py parmys_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count }}
ODINII:
Expand All @@ -317,19 +376,26 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- uses: hendrikmuhs/[email protected]

- name: Test
env:
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
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
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
./run_reg_test.py odin_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count }}
VQM2BLIF:
Expand All @@ -343,13 +409,20 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- uses: hendrikmuhs/[email protected]

- name: Test
env:
BUILD_TYPE: release
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
./.github/scripts/build.sh
Expand Down Expand Up @@ -378,7 +451,13 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- uses: hendrikmuhs/[email protected]

Expand All @@ -387,6 +466,7 @@ jobs:
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_ODIN=on"
MATRIX_EVAL: ${{ matrix.eval }}
BUILD_TYPE: release
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
./.github/scripts/build.sh
Expand All @@ -413,13 +493,20 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: 'true'
- run: ./.github/scripts/install_dependencies.sh

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: Install dependencies
run: ./.github/scripts/install_dependencies.sh

- uses: hendrikmuhs/[email protected]

- name: Test
env:
CMAKE_PARAMS: '-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on'
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
_COVERITY_URL: 'https://scan.coverity.com/download/linux64'
_COVERITY_MD5: 'd0d7d7df9d6609e578f85096a755fb8f'
run: |
Expand Down
2 changes: 2 additions & 0 deletions doc/src/vpr/command_line_usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1879,6 +1879,8 @@ The following options are used to enable server mode in VPR.

**Default:** ``60555``

.. seealso:: :ref:`interactive_path_analysis_client`

Command-line Auto Completion
----------------------------

Expand Down
12 changes: 12 additions & 0 deletions doc/src/vtr/server_mode/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,19 @@ Draw selected critical path elements example
.. note:: If status is not 1, the field ***DATA*** contains error string.

`The interactive path analysis (IPA) client <https://github.com/w0lek/IPAClient>`_ is useful for viewing timing paths, and to test VPR's server mode functionality.

.. _interactive_path_analysis_client:

Interactive Path Analysis Client (IPA)
====================================================

The interactive path analysis (IPA) client connects to VPR's server mode and allows interactive visualization of timing paths and their placement and routing. This client application is called **IPAClient** and can also be used to test VPR's server mode functionality. It is available in a public Git repository:
`https://github.com/w0lek/IPAClient <https://github.com/w0lek/IPAClient>`_.

This UI application is designed to generate requests for VPR in server mode and display the responses in a readable format, acting as a result viewer.

More details on how to build and use **IPAClient** can be found in the `README <https://github.com/w0lek/IPAClient/blob/main/README.md>`_.



2 changes: 1 addition & 1 deletion libs/EXTERNAL/libcatch2
Submodule libcatch2 updated 86 files
+0 −1 .github/workflows/mac-builds.yml
+1 −1 CMakeLists.txt
+1 −1 docs/assertions.md
+1 −0 docs/cmake-integration.md
+1 −2 docs/contributing.md
+13 −0 docs/deprecations.md
+1 −0 docs/list-of-examples.md
+0 −24 docs/other-macros.md
+42 −0 docs/release-notes.md
+1 −1 docs/test-cases-and-sections.md
+133 −4 docs/test-fixtures.md
+74 −0 examples/111-Fix-PersistentFixture.cpp
+1 −0 examples/CMakeLists.txt
+9 −2 extras/Catch.cmake
+9 −4 extras/CatchAddTests.cmake
+386 −213 extras/catch_amalgamated.cpp
+247 −198 extras/catch_amalgamated.hpp
+1 −1 meson.build
+2 −2 src/CMakeLists.txt
+1 −1 src/catch2/benchmark/catch_outlier_classification.hpp
+1 −1 src/catch2/catch_all.hpp
+1 −1 src/catch2/catch_assertion_result.cpp
+0 −0 src/catch2/catch_case_sensitive.hpp
+1 −1 src/catch2/catch_message.hpp
+20 −16 src/catch2/catch_session.cpp
+6 −10 src/catch2/catch_test_case_info.cpp
+12 −2 src/catch2/catch_test_case_info.hpp
+4 −0 src/catch2/catch_test_macros.hpp
+1 −1 src/catch2/catch_timer.cpp
+1 −1 src/catch2/catch_translate_exception.hpp
+1 −1 src/catch2/catch_version.cpp
+2 −2 src/catch2/catch_version_macros.hpp
+1 −2 src/catch2/interfaces/catch_interfaces_capture.hpp
+2 −0 src/catch2/interfaces/catch_interfaces_test_invoker.hpp
+2 −2 src/catch2/internal/catch_assertion_handler.cpp
+2 −2 src/catch2/internal/catch_assertion_handler.hpp
+1 −1 src/catch2/internal/catch_clara.cpp
+0 −6 src/catch2/internal/catch_context.cpp
+9 −4 src/catch2/internal/catch_context.hpp
+5 −6 src/catch2/internal/catch_decomposer.hpp
+15 −12 src/catch2/internal/catch_is_permutation.hpp
+3 −3 src/catch2/internal/catch_lazy_expr.hpp
+291 −98 src/catch2/internal/catch_output_redirect.cpp
+48 −89 src/catch2/internal/catch_output_redirect.hpp
+3 −1 src/catch2/internal/catch_random_integer_helpers.hpp
+0 −26 src/catch2/internal/catch_result_type.cpp
+16 −7 src/catch2/internal/catch_result_type.hpp
+49 −29 src/catch2/internal/catch_run_context.cpp
+4 −2 src/catch2/internal/catch_run_context.hpp
+5 −7 src/catch2/internal/catch_test_macro_impl.hpp
+3 −1 src/catch2/internal/catch_test_registry.cpp
+50 −1 src/catch2/internal/catch_test_registry.hpp
+8 −8 src/catch2/internal/catch_uniform_integer_distribution.hpp
+1 −1 src/catch2/internal/catch_wildcard_pattern.hpp
+2 −22 src/catch2/internal/catch_xmlwriter.cpp
+15 −4 src/catch2/internal/catch_xmlwriter.hpp
+8 −0 src/catch2/matchers/catch_matchers_range_equals.hpp
+2 −2 src/catch2/matchers/catch_matchers_string.hpp
+8 −4 src/catch2/matchers/internal/catch_matchers_impl.hpp
+2 −2 src/catch2/meson.build
+2 −2 src/catch2/reporters/catch_reporter_junit.cpp
+2 −2 src/catch2/reporters/catch_reporter_sonarqube.cpp
+1 −1 src/catch2/reporters/catch_reporter_sonarqube.hpp
+30 −16 tests/ExtraTests/X02-DisabledMacros.cpp
+3 −0 tests/SelfTest/Baselines/automake.sw.approved.txt
+3 −0 tests/SelfTest/Baselines/automake.sw.multi.approved.txt
+12 −2 tests/SelfTest/Baselines/compact.sw.approved.txt
+12 −2 tests/SelfTest/Baselines/compact.sw.multi.approved.txt
+14 −2 tests/SelfTest/Baselines/console.std.approved.txt
+86 −2 tests/SelfTest/Baselines/console.sw.approved.txt
+86 −2 tests/SelfTest/Baselines/console.sw.multi.approved.txt
+176 −1 tests/SelfTest/Baselines/junit.sw.approved.txt
+176 −1 tests/SelfTest/Baselines/junit.sw.multi.approved.txt
+167 −0 tests/SelfTest/Baselines/sonarqube.sw.approved.txt
+167 −0 tests/SelfTest/Baselines/sonarqube.sw.multi.approved.txt
+21 −1 tests/SelfTest/Baselines/tap.sw.approved.txt
+21 −1 tests/SelfTest/Baselines/tap.sw.multi.approved.txt
+7 −0 tests/SelfTest/Baselines/teamcity.sw.approved.txt
+7 −0 tests/SelfTest/Baselines/teamcity.sw.multi.approved.txt
+103 −2 tests/SelfTest/Baselines/xml.sw.approved.txt
+103 −2 tests/SelfTest/Baselines/xml.sw.multi.approved.txt
+15 −0 tests/SelfTest/IntrospectiveTests/Clara.tests.cpp
+26 −0 tests/SelfTest/UsageTests/Class.tests.cpp
+1 −1 tests/TestScripts/testBazelReporter.py
+1 −2 tools/scripts/buildAndTest.cmd
+1 −2 tools/scripts/buildAndTest.sh
Loading

0 comments on commit 7758044

Please sign in to comment.