Skip to content

Commit ff4f91d

Browse files
authored
Merge branch 'master' into absorb_buffer_typo
2 parents d2b306b + b7a94b9 commit ff4f91d

File tree

700 files changed

+113396
-19204
lines changed

Some content is hidden

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

700 files changed

+113396
-19204
lines changed

.github/kokoro/continuous/strong_sanitized.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
build_file: "vtr-verilog-to-routing/.github/kokoro/run-vtr.sh"
44

5-
# 2 hour
6-
timeout_mins: 120
5+
# 4 hour
6+
timeout_mins: 240
77

88
action {
99
define_artifacts {

.github/kokoro/presubmit/strong_sanitized.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
build_file: "vtr-verilog-to-routing/.github/kokoro/run-vtr.sh"
44

5-
# 2 hour
6-
timeout_mins: 120
5+
# 4 hour
6+
timeout_mins: 240
77

88
action {
99
define_artifacts {

.github/kokoro/steps/hostsetup.sh

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ echo "Host adding PPAs"
3636
echo "----------------------------------------"
3737
wget --no-check-certificate -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
3838
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
39+
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
3940
echo "----------------------------------------"
4041

4142
echo
@@ -55,48 +56,53 @@ sudo apt-get install -y \
5556
bison \
5657
build-essential \
5758
ca-certificates \
59+
clang \
5860
cmake \
5961
colordiff \
6062
coreutils \
6163
curl \
6264
flex \
65+
gawk \
66+
gcc-9 \
67+
g++-9 \
6368
git \
6469
graphviz \
6570
inkscape \
6671
jq \
72+
libboost-filesystem-dev \
73+
libboost-python-dev \
74+
libboost-system-dev \
75+
libffi-dev \
6776
libgtk-3-dev \
77+
libreadline-dev \
6878
libx11-dev \
6979
make \
7080
ninja-build \
7181
nodejs \
82+
pkg-config \
7283
psmisc \
7384
python \
7485
python3 \
7586
python3-dev \
7687
python3-virtualenv \
7788
python3-yaml \
7889
qt5-default \
79-
virtualenv \
80-
clang \
81-
libreadline-dev \
82-
gawk \
8390
tcl-dev \
84-
libffi-dev \
91+
virtualenv \
8592
xdot \
86-
pkg-config \
87-
libboost-system-dev \
88-
libboost-python-dev \
89-
libboost-filesystem-dev \
90-
zlib1g-dev \
93+
zlib1g-dev
9194
#Don't include libtbb-dev since it may increase memory usage
9295
#libtbb-dev \
9396

9497
export PATH="$PATH:/home/kbuilder/.local/bin"
9598

96-
pyenv install -f 3.6.3
97-
pyenv global 3.6.3
99+
export CC=gcc-9
100+
export CXX=g++-9
101+
102+
pyenv install -f 3.7.0
103+
pyenv global 3.7.0
98104
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
99-
python3 get-pip.py
105+
python3 get-pip.py
100106
rm get-pip.py
101107
python3 -m pip install -r requirements.txt
102108

.github/scripts/hostsetup.sh

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
#!/bin/bash
2+
3+
set -e
4+
echo "========================================"
5+
echo "Host updating packages"
6+
echo "----------------------------------------"
7+
apt update
8+
echo "----------------------------------------"
9+
10+
11+
echo "========================================"
12+
echo "Add repositories"
13+
echo "----------------------------------------"
14+
apt install -y software-properties-common
15+
add-apt-repository ppa:ubuntu-toolchain-r/test
16+
echo "----------------------------------------"
17+
18+
echo
19+
echo "========================================"
20+
echo "Host install packages"
21+
echo "----------------------------------------"
22+
23+
apt install -y \
24+
autoconf \
25+
automake \
26+
bash \
27+
bison \
28+
binutils \
29+
binutils-gold \
30+
build-essential \
31+
capnproto \
32+
clang \
33+
cmake \
34+
ctags \
35+
curl \
36+
doxygen \
37+
flex \
38+
fontconfig \
39+
gdb \
40+
git \
41+
gperf \
42+
gzip \
43+
libcairo2-dev \
44+
libcapnp-dev \
45+
libgtk-3-dev \
46+
libevent-dev \
47+
libfontconfig1-dev \
48+
liblist-moreutils-perl \
49+
libncurses5-dev \
50+
libx11-dev \
51+
libxft-dev \
52+
libxml++2.6-dev \
53+
libreadline-dev \
54+
python \
55+
python3 \
56+
python3-dev \
57+
python3-pip \
58+
python3-virtualenv \
59+
python3-yaml \
60+
tcl-dev \
61+
libffi-dev \
62+
perl \
63+
texinfo \
64+
time \
65+
valgrind \
66+
zip \
67+
qt5-default \
68+
g++-9 \
69+
gcc-9 \
70+
wget
71+
# Don't include libtbb-dev since it may increase memory usage
72+
#libtbb-dev \
73+
74+
export PATH="$PATH:/home/kbuilder/.local/bin"
75+
76+
export CC=gcc-9
77+
export CXX=g++-9
78+
79+
python3 -m pip install -U pip
80+
python3 -m pip install -r requirements.txt
81+
82+
echo "----------------------------------------"

.github/scripts/install_dependencies.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ sudo apt install -y \
1010
binutils \
1111
binutils-gold \
1212
build-essential \
13+
capnproto \
1314
cmake \
1415
ctags \
1516
curl \
@@ -20,6 +21,7 @@ sudo apt install -y \
2021
git \
2122
gperf \
2223
libcairo2-dev \
24+
libcapnp-dev \
2325
libgtk-3-dev \
2426
libevent-dev \
2527
libfontconfig1-dev \
@@ -54,3 +56,9 @@ sudo apt install -y \
5456
# libtbb-dev
5557

5658
pip install -r requirements.txt
59+
60+
git clone https://github.com/capnproto/capnproto-java.git $GITHUB_WORKSPACE/env/capnproto-java
61+
pushd $GITHUB_WORKSPACE/env/capnproto-java
62+
make
63+
sudo make install
64+
popd

.github/scripts/run-vtr.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
3+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
4+
5+
set -x
6+
set -e
7+
8+
export VTR_DIR=$(pwd)
9+
source $SCRIPT_DIR/hostsetup.sh
10+
11+
if ! { [ $VTR_TEST == "vtr_reg_strong" ] || [ $VTR_TEST == "odin_reg_strong" ] \
12+
|| [ $VTR_TEST == "odin_tech_strong" ] || [ $VTR_TEST == "vtr_reg_yosys_odin" ]; }; then
13+
source $SCRIPT_DIR/vtr-full-setup.sh
14+
fi
15+
16+
# Build VtR
17+
source $SCRIPT_DIR/vtr-build.sh
18+
# Run the reg test.
19+
source $SCRIPT_DIR/vtr-test.sh

.github/scripts/vtr-build.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
if [ -z ${VTR_CMAKE_PARAMS+x} ]; then
4+
echo "Missing $$VTR_CMAKE_PARAMS value"
5+
exit 1
6+
fi
7+
8+
export FAILURE=0
9+
make -k CMAKE_PARAMS="$VTR_CMAKE_PARAMS" -j$(nproc) || export FAILURE=1
10+
11+
echo
12+
13+
# When the build fails, produce the failure output in a clear way
14+
if [ $FAILURE -ne 0 ]; then
15+
make CMAKE_PARAMS="$VTR_CMAKE_PARAMS" -j1
16+
exit 1
17+
fi

.github/scripts/vtr-full-setup.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
make get_titan_benchmarks
4+
make get_ispd_benchmarks
5+
6+
dev/upgrade_vtr_archs.sh
7+
8+
# Symbiflow archs do not require update
9+
make get_symbiflow_benchmarks

.github/scripts/vtr-test.sh

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#!/bin/bash
2+
3+
set +x
4+
if [ -z ${VTR_TEST+x} ]; then
5+
echo "Missing $$VTR_TEST value"
6+
exit 1
7+
fi
8+
9+
if [ -z ${VTR_TEST_OPTIONS+x} ]; then
10+
echo "Missing $$VTR_TEST_OPTIONS value"
11+
exit 1
12+
fi
13+
14+
if [ -z $NUM_CORES ]; then
15+
echo "Missing $$NUM_CORES value"
16+
exit 1
17+
fi
18+
19+
echo $PWD
20+
pwd
21+
pwd -L
22+
pwd -P
23+
cd $(realpath $(pwd))
24+
echo $PWD
25+
pwd
26+
pwd -L
27+
pwd -P
28+
29+
(
30+
while :
31+
do
32+
date
33+
uptime
34+
free -h
35+
sleep 300
36+
done
37+
) &
38+
MONITOR=$!
39+
40+
set +e
41+
42+
echo "========================================"
43+
echo "VPR Build Info"
44+
echo "========================================"
45+
./vpr/vpr --version
46+
47+
echo "========================================"
48+
echo "Running Tests"
49+
echo "========================================"
50+
export VPR_NUM_WORKERS=1
51+
52+
./run_reg_test.py $VTR_TEST $VTR_TEST_OPTIONS -j$NUM_CORES
53+
TEST_RESULT=$?
54+
set -e
55+
kill $MONITOR
56+
57+
echo "========================================"
58+
echo "Packing benchmarks files"
59+
echo "========================================"
60+
61+
results=qor_results_$VTR_TEST.tar
62+
# Create archive with output files from the test
63+
find vtr_flow -type f \( -name "*.out" -o -name "*.log" -o -name "*.txt" -o -name "*.csv" \) -exec tar -rf $results {} \;
64+
gzip $results
65+
66+
exit $TEST_RESULT

.github/workflows/containers.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Containers
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
schedule:
8+
- cron: '0 0 * * 0' # weekly
9+
10+
jobs:
11+
12+
Image:
13+
runs-on: ubuntu-latest
14+
env:
15+
DOCKER_BUILDKIT: 1
16+
steps:
17+
18+
- name: 🧰 Repository Checkout
19+
uses: actions/checkout@v2
20+
21+
- name: 🔧 Generate image name
22+
id: generate
23+
run: |
24+
REPO='${{ github.repository }}'
25+
echo "::set-output name=image::ghcr.io/${REPO,,}/ubuntu/focal/build"
26+
27+
- name: ⛴️ Build container image
28+
run: docker build -t ${{ steps.generate.outputs.image }} -f Dockerfile .
29+
30+
- name: 🛰️ Push container image
31+
if: github.event_name != 'pull_request'
32+
uses: pyTooling/Actions/with-post-step@r0
33+
with:
34+
main: |
35+
echo '${{ github.token }}' | docker login ghcr.io -u GitHub-Actions --password-stdin
36+
docker push ${{ steps.generate.outputs.image }}
37+
post: docker logout ghcr.io

0 commit comments

Comments
 (0)