# Start from a base image with CUDA and Python FROM nvidia/cuda:12.8.1-base-ubuntu22.04 # System setup ENV DEBIAN_FRONTEND=noninteractive # Install system packages RUN apt-get update && apt-get install -y \ python3 python3-pip python3-dev python3-venv \ git wget unzip cmake build-essential \ libboost-all-dev libginac-dev libglpk-dev \ m4 libcln-dev libgmp-dev automake libhwloc-dev \ libgl1 libglib2.0-0 && \ rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /app # Copy requirements file COPY requirements.txt . # Upgrade pip and install dependencies RUN pip install --upgrade pip && \ pip install -r requirements.txt # ====== Precompile carl-storm ====== WORKDIR /opt RUN git clone https://github.com/moves-rwth/carl-storm && \ cd carl-storm && \ mkdir build && cd build && \ cmake .. && make lib_carl # ====== Precompile Storm ====== WORKDIR /opt RUN wget https://github.com/moves-rwth/storm/archive/stable.zip && \ unzip stable.zip && \ cd storm-stable && \ mkdir build && cd build && \ cmake ../ -DCMAKE_BUILD_TYPE=Release \ -DSTORM_DEVELOPER=OFF \ -DSTORM_LOG_DISABLE_DEBUG=ON \ -DSTORM_PORTABLE=ON \ -DSTORM_USE_SPOT_SHIPPED=ON && \ make -j12 RUN pip install stormpy