working on analog simulation through Xyce
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Edward Arthur Bingham 2022-10-02 11:14:58 -04:00
parent 69f1517235
commit f4111a4db5
5 changed files with 45 additions and 13 deletions

View File

@ -7,6 +7,15 @@ RUN apt-get update
RUN mkdir toolsrc
RUN mkdir /opt/cad
WORKDIR /toolsrc
RUN apt-get -y install wget make gcc g++
RUN wget https://download.open-mpi.org/release/hwloc/v2.8/hwloc-2.8.0.tar.gz
RUN tar -xzvf hwloc-2.8.0.tar.gz
WORKDIR hwloc-2.8.0
RUN ./configure
RUN make
RUN make install
# Xyce and Trilinos takes the longest to execute, in the interest of caching, this should go first.
# install Trilinos
WORKDIR /toolsrc
@ -15,7 +24,7 @@ RUN apt-get install -y gcc g++ gfortran make cmake flex libfl-dev libfftw3-dev l
# building from git repo dependencies
RUN apt-get install -y autoconf automake git
# parallel dependencies
RUN apt-get install -y libopenmpi-dev openmpi-bin
RUN apt-get install -y libhwloc15 libopenmpi-dev openmpi-bin openmpi-common
RUN git clone https://github.com/trilinos/Trilinos.git
WORKDIR Trilinos
@ -91,7 +100,7 @@ RUN git clone https://tpope.io/vim/fugitive.git /template/.vim/pack/plugins/star
RUN git clone https://github.com/preservim/nerdtree.git /template/.vim/pack/plugins/start/nerdtree
# install gaw
RUN apt-get update --fix-missing; apt-get install -y libgtk-3-dev libcanberra-gtk3-module
RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y libgtk-3-dev libcanberra-gtk3-module
WORKDIR /toolsrc
RUN --mount=type=secret,id=user --mount=type=secret,id=token git clone https://$(cat /run/secrets/user):$(cat /run/secrets/token)@git.broccolimicro.io/Broccoli/waveview.git
WORKDIR waveview
@ -99,6 +108,9 @@ RUN ./configure
RUN make
RUN make install
# install gtkwave
RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install -y gtkwave
# install magic layout tool
WORKDIR /toolsrc
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tcsh m4 csh libx11-dev tcl-dev tk-dev libcairo2-dev mesa-common-dev libglu1-mesa-dev libncurses-dev
@ -132,6 +144,8 @@ RUN cp pr/* /opt/cad/bin
# Connect user home directory of host machine
RUN mkdir "/host"
WORKDIR "/host"
RUN rm -rf /opt/cad/conf
RUN ln -s "/host/tech" "/opt/cad/conf"
ENV USER "bcli"
ENV USER_ID "1000"

View File

@ -1,5 +1,5 @@
all:
DOCKER_BUILDKIT=1 docker build --secret id=user,src=.secret/user --secret id=token,src=.secret/token -t git.broccolimicro.io/broccoli/development-environment:latest .
DOCKER_BUILDKIT=1 docker build --shm-size=4gb --secret id=user,src=.secret/user --secret id=token,src=.secret/token -t git.broccolimicro.io/broccoli/development-environment:latest .
local:
DOCKER_BUILDKIT=1 docker build --secret id=user,src=.secret/user --secret id=token,src=.secret/token -t git.broccolimicro.io/broccoli/development-environment:latest --add-host=git.broccolimicro.io:10.0.0.65 .
DOCKER_BUILDKIT=1 docker build --shm-size=4gb --secret id=user,src=.secret/user --secret id=token,src=.secret/token -t git.broccolimicro.io/broccoli/development-environment:latest --add-host=git.broccolimicro.io:10.0.0.65 .

View File

@ -21,7 +21,20 @@ bcli() {
umount $HOME/tech
fi
rmdir $HOME/tech
else
elif [ "$#" -eq 0 ]; then
docker exec -u $(id -u):$(id -g) -it bcli-develop /bin/bash
else
if [ "$1" != "--help" ]; then
echo "error: unrecognized command '$1'"
echo ""
fi
echo "usage: bcli <command>"
echo "If command is empty, then start a terminal logged into the toolset."
echo " up - launch the toolset"
echo " down - shutdown the toolset"
echo " mount - mount the technology files from broccolimicro.io"
echo " unmount - unmount the technology files"
echo " -f - force the unmount if the connection has been broken"
fi
}

View File

@ -1,3 +1,4 @@
export HWLOC_HIDE_ERRORS=2
export ACT_HOME="/opt/cad"
export PATH="/opt/go/bin:/opt/cad/bin:$HOME/.local/bin:$PATH"
export PRSPICE_INSTALL="$ACT_HOME/lib/prspice"

View File

@ -5,18 +5,15 @@ FLAGS="-O3 -fPIC"
cmake \
-G "Unix Makefiles" \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DCMAKE_Fortran_COMPILER=mpifort \
-DCMAKE_CXX_COMPILER=mpic++ \
-DCMAKE_Fortran_COMPILER=mpif77 \
-DCMAKE_CXX_FLAGS="$FLAGS" \
-DCMAKE_C_FLAGS="$FLAGS" \
-DCMAKE_Fortran_FLAGS="$FLAGS" \
-DCMAKE_INSTALL_PREFIX=$ARCHDIR \
-DCMAKE_MAKE_PROGRAM="make" \
-DTPL_ENABLE_MPI=ON \
-DMPI_BASE_DIR=/usr \
-DTrilinos_ENABLE_NOX=ON \
-DNOX_ENABLE_LOCA=ON \
-DTrilinos_ENABLE_Epetra=ON \
-DTrilinos_ENABLE_EpetraExt=ON \
-DEpetraExt_BUILD_BTF=ON \
-DEpetraExt_BUILD_EXPERIMENTAL=ON \
@ -27,11 +24,16 @@ cmake \
-DTrilinos_ENABLE_AztecOO=ON \
-DTrilinos_ENABLE_Belos=ON \
-DTrilinos_ENABLE_Teuchos=ON \
-DTeuchos_ENABLE_COMPLEX=ON \
-DTrilinos_ENABLE_COMPLEX_DOUBLE=ON \
-DTrilinos_ENABLE_Amesos=ON \
-DAmesos_ENABLE_KLU=ON \
-DAmesos_ENABLE_KLU=ON \
-DTrilinos_ENABLE_Amesos2=ON \
-DAmesos2_ENABLE_KLU2=ON \
-DAmesos2_ENABLE_Basker=ON \
-DTrilinos_ENABLE_Sacado=ON \
-DTrilinos_ENABLE_Kokkos=OFF \
-DTrilinos_ENABLE_Stokhos=ON \
-DTrilinos_ENABLE_Kokkos=ON \
-DTrilinos_ENABLE_Zoltan=ON \
-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \
-DTrilinos_ENABLE_CXX11=ON \
-DTPL_ENABLE_AMD=ON \
@ -39,4 +41,6 @@ cmake \
-DTPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \
-DTPL_ENABLE_BLAS=ON \
-DTPL_ENABLE_LAPACK=ON \
-DTPL_ENABLE_MPI=ON \
-DMPI_BASE_DIR=/usr \
$SRCDIR