updating xyce and actsim

This commit is contained in:
Edward Arthur Bingham 2024-04-09 12:10:48 +00:00
parent daa58223ec
commit cde5bdacf0
2 changed files with 37 additions and 17 deletions

View File

@ -22,24 +22,26 @@ RUN make install
# install Trilinos # install Trilinos
WORKDIR /toolsrc WORKDIR /toolsrc
# basic dependencies # basic dependencies
RUN apt-get install -y gcc g++ gfortran make cmake flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool RUN apt-get install -y gcc g++ gfortran make flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool
# building from git repo dependencies # building from git repo dependencies
RUN apt-get install -y autoconf automake git RUN apt-get install -y autoconf automake git
# parallel dependencies # parallel dependencies
RUN apt-get install -y libhwloc15 libopenmpi-dev openmpi-bin openmpi-common RUN apt-get install -y libhwloc15 libopenmpi-dev openmpi-bin openmpi-common
# install python # install python
RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y python3 pip RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y python3 pip
RUN apt-get remove cmake -y
RUN pip install cmake --upgrade
RUN apt-get install -y bison RUN apt-get install -y bison
RUN git clone --shallow-since 2022-09-15 --branch develop https://github.com/trilinos/Trilinos.git RUN git clone --depth=1 https://github.com/trilinos/Trilinos.git --branch trilinos-release-15-1-1
RUN git clone https://github.com/Xyce/Xyce.git --branch Release-7.6.0 RUN git clone --depth=1 https://github.com/Xyce/Xyce.git --branch Release-7.8.0
WORKDIR Trilinos WORKDIR Trilinos
RUN git checkout b91cc3dcd9
RUN mkdir build RUN mkdir build
RUN mkdir /opt/trilinos RUN mkdir /opt/trilinos
WORKDIR build WORKDIR build
RUN cmake \ RUN cmake \
-D PYTHON_EXECUTABLE=/usr/bin/python3 \
-D CMAKE_C_COMPILER=mpicc \ -D CMAKE_C_COMPILER=mpicc \
-D CMAKE_CXX_COMPILER=mpic++ \ -D CMAKE_CXX_COMPILER=mpic++ \
-D CMAKE_Fortran_COMPILER=mpif77 \ -D CMAKE_Fortran_COMPILER=mpif77 \
@ -47,7 +49,7 @@ RUN cmake \
-D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \ -D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \
-D AMD_LIBRARY_DIRS="/usr/lib" \ -D AMD_LIBRARY_DIRS="/usr/lib" \
-D MPI_BASE_DIR="/usr" \ -D MPI_BASE_DIR="/usr" \
-C /toolsrc/Xyce/cmake/trilinos/trilinos-config-MPI.cmake \ -C /toolsrc/Xyce/cmake/trilinos/trilinos-MPI-base.cmake \
/toolsrc/Trilinos /toolsrc/Trilinos
RUN cmake --build . -j 40 -t install RUN cmake --build . -j 40 -t install
@ -74,7 +76,6 @@ RUN ./build_openroad.sh --local --install-path /opt/openroad --nice
RUN mv dependencies /opt/or-tools RUN mv dependencies /opt/or-tools
# install ACT # install ACT
RUN pwd
WORKDIR /toolsrc WORKDIR /toolsrc
RUN apt-get install -y libedit-dev zlib1g-dev m4 git gcc g++ make libboost-all-dev RUN apt-get install -y libedit-dev zlib1g-dev m4 git gcc g++ make libboost-all-dev
RUN git clone https://www.github.com/asyncvlsi/actflow.git RUN git clone https://www.github.com/asyncvlsi/actflow.git
@ -82,18 +83,23 @@ WORKDIR actflow
RUN git submodule update --init --recursive RUN git submodule update --init --recursive
ENV ACT_HOME=/opt/cad ENV ACT_HOME=/opt/cad
ENV VLSI_TOOLS_SRC=/toolsrc/actflow ENV VLSI_TOOLS_SRC=/toolsrc/actflow
RUN ./build WORKDIR actsim
RUN ./grab_xyce.sh /toolsrc/Xyce/build
RUN sed -i 's/make/make CXX=mpic++ CC=mpicc CC_COMPILER=mpicc CXX_COMPILER=mpic++ C_COMPILER_NAME=mpicc CXX_COMPILER_NAME=mpic++/g' build.sh
WORKDIR /toolsrc/actflow
RUN echo "g++" > CXX_COMPILER
RUN CXX="g++" CC="gcc" CXX_COMPILER="g++" CC_COMPILER="gcc" ./build
# install actsim # install actsim
WORKDIR /toolsrc #WORKDIR /toolsrc
RUN git clone https://github.com/asyncvlsi/actsim.git #RUN git clone https://github.com/asyncvlsi/actsim.git
WORKDIR actsim #WORKDIR actsim
RUN ./configure #RUN ./configure
RUN ./grab_xyce.sh /toolsrc/Xyce/build #RUN ./grab_xyce.sh /toolsrc/Xyce/build
#WORKDIR ext #WORKDIR ext
RUN ./build.sh #RUN ./build.sh
#WORKDIR .. #WORKDIR ..
RUN make CXX=mpic++ CC=mpicc install #RUN make CXX=mpic++ CC=mpicc install
# install ACT-06 # install ACT-06
RUN apt-get install -y libedit-dev zlib1g-dev m4 git gcc g++ make RUN apt-get install -y libedit-dev zlib1g-dev m4 git gcc g++ make
@ -175,6 +181,22 @@ RUN make install
ADD share/* /opt/cad/share ADD share/* /opt/cad/share
# setup python venv
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python3.10-venv
RUN python3 -m venv /opt/python
RUN source /opt/python/bin/activate
ENV PATH="/opt/python/bin:$PATH"
# install floret
RUN echo "hello"
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y libqhull-dev zlib1g-dev python3.10-dev tup
WORKDIR /toolsrc
RUN git clone https://github.com/broccolimicro/floret.git
WORKDIR floret
RUN git submodule update --init --recursive
RUN make
RUN cp floret-linux /opt/cad/bin/floret
# Stage 2: Copy everything over to final image # Stage 2: Copy everything over to final image
FROM ubuntu:latest FROM ubuntu:latest
SHELL ["/bin/bash", "-c"] SHELL ["/bin/bash", "-c"]
@ -188,8 +210,6 @@ COPY --from=0 /toolsrc/OpenROAD-flow-scripts/tools/OpenROAD/etc/DependencyInstal
RUN ./etc/DependencyInstaller.sh -base RUN ./etc/DependencyInstaller.sh -base
RUN ./tools/OpenROAD/etc/DependencyInstaller.sh -base RUN ./tools/OpenROAD/etc/DependencyInstaller.sh -base
RUN pip install gdstk
COPY --from=0 /opt/* /opt COPY --from=0 /opt/* /opt
WORKDIR /toolsrc WORKDIR /toolsrc

View File

@ -1,6 +1,6 @@
export HWLOC_HIDE_ERRORS=2 export HWLOC_HIDE_ERRORS=2
export ACT_HOME="/opt/cad" export ACT_HOME="/opt/cad"
export PATH="/opt/go/bin:$ACT_HOME/bin:/opt/magic/bin:/opt/openroad/OpenROAD/bin:/opt/openroad/yosys/bin:/opt/or-tools/bin:$HOME/.local/bin:$PATH" export PATH="/opt/go/bin:$ACT_HOME/bin:/opt/magic/bin:/opt/openroad/OpenROAD/bin:/opt/openroad/yosys/bin:/opt/or-tools/bin:/opt/python/bin:$HOME/.local/bin:$PATH"
export PRSPICE_INSTALL="$ACT_HOME/lib/prspice" export PRSPICE_INSTALL="$ACT_HOME/lib/prspice"
export KLAYOUT_PATH="$HOME/.klayout:$ACT_HOME/share/klayout" export KLAYOUT_PATH="$HOME/.klayout:$ACT_HOME/share/klayout"
export DISPLAY=:1 export DISPLAY=:1