From bc73d63db61c5d6cb164996e2972fef74dc7abe1 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 12 Sep 2023 15:10:10 +0200 Subject: [PATCH] docker --- Dockerfile | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ff39f73 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,82 @@ +FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04 + +SHELL ["/bin/sh", "-c"] + +USER root + +ENV DEBIAN_FRONTEND=noninteractive + +RUN /usr/bin/ls +RUN sed -i "s,# deb http://archive.canonical.com/ubuntu,deb http://archive.canonical.com/ubuntu,g" /etc/apt/sources.list + +## Install some deps +#RUN ls /etc/apt/ +RUN apt-get update -y +RUN apt-get install -y software-properties-common +RUN add-apt-repository ppa:deadsnakes/ppa +RUN apt-get update -y && apt-get upgrade -y +RUN apt-get install -y python3 python3-dev python3-venv python3-pip +#RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 100 + +RUN apt-get install -y dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev libxft-dev libxext-dev libssl-dev + +#RUN python3 --version && python3 -m ensurepip +RUN python3 -m pip install --upgrade pip + +RUN python3 -m pip install pandas numpy matplotlib MarkupSafe wandb uproot setuptools +RUN python3 -m pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 + +# # # # GEANT +RUN apt-get -y install libxmu-dev \ + libgl1-mesa-dev \ + libxerces-c-dev \ + libexpat1 \ + libx11-dev \ + libglu1-mesa-dev \ + freeglut3-dev \ + mesa-common-dev \ + imagemagick \ + gv wget autotools-dev libicu-dev libbz2-dev + + + +## DAWN FOR VIS + +RUN mkdir dawn-source \ + && wget -q -O - http://geant4.kek.jp/~tanaka/src/dawn_3_91a.tgz | tar xzf - -C "dawn-source" \ + && export DAWN_PS_PREVIEWER=NONE && cd dawn-source/dawn_3_91a \ + && make clean && make guiclean && make && make install \ + && cd - && rm -rf "dawn-source" + +## main package + +RUN cd && wget -q https://gitlab.cern.ch/geant4/geant4/-/archive/v11.1.2/geant4-v11.1.2.tar.gz && \ + tar -xzf geant4-v11.1.2.tar.gz -C /tmp && \ + mkdir /tmp/geant4-v11.1.2-build && \ + cd /tmp/geant4-v11.1.2-build && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/geant4-v11.1.2 -DCMAKE_RULE_MESSAGES=OFF -DGEANT4_INSTALL_DATA=ON \ + -DGEANT4_USE_GDML=ON -DGEANT4_USE_OPENGL_X11=ON \ + -DGEANT4_BUILD_MULTITHREADED=OFF \ + -DGEANT4_BUILD_TLS_MODEL=global-dynamic \ + -DGEANT4_USE_RAYTRACER_X11=ON /tmp/geant4-v11.1.2 >/dev/null && \ + make -j4 >/dev/null && \ + make install >/dev/null + +RUN rm -rf /tmp/geant4-v11.1.2 && \ + rm -rf /tmp/geant4-v11.1.2-build + + +RUN python3 -m pip install geant4-pybind + +ENV LD_LIBRARY_PATH="/opt/geant4-v11.1.2/lib:${LD_LIBRARY_PATH}" + +RUN apt-get install -y git + +RUN python3 -m pip install ipython +RUN apt-get install -y tk # for dawn + +ARG INCUBATOR_VER +ADD minicalosim /root/minicalosim +RUN cd && cd minicalosim && mkdir build && cd build && cmake ../ && make -j4 &&\ + cp minicalo* ../bind/G4Calo.py /usr/local/lib/python3.8/dist-packages/ +