FROM mcr.microsoft.com/vscode/devcontainers/miniconda:0-3 # I am suprised this is needed RUN conda init # Copy environment.yml (if found) to a temp location so we update the environment. Also # copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists. COPY .devcontainer/cuda/environment.yml .devcontainer/noop.txt /tmp/conda-tmp/ RUN if [ -f "/tmp/conda-tmp/environment.yml" ]; then umask 0002 && /opt/conda/bin/conda env update -n base -f /tmp/conda-tmp/environment.yml; fi \ && sudo rm -rf /tmp/conda-tmp # Tools needed for llvm RUN sudo apt-get -y update RUN sudo apt install -y lsb-release wget software-properties-common gnupg # Install CLANG if version is specified ARG CLANG_VERSION RUN if [ -n "$CLANG_VERSION" ]; then \ sudo wget https://apt.llvm.org/llvm.sh; \ chmod +x llvm.sh; \ sudo ./llvm.sh "${CLANG_VERSION}"; \ echo 'export CC=clang' >> ~/.bashrc; \ echo 'export CXX=clang++' >> ~/.bashrc; \ sudo apt update; \ sudo apt install -y clang; \ sudo apt install -y libomp-dev; \ fi # Install cuda if version is specified ARG CUDA_VERSION RUN if [ -n "$CUDA_VERSION" ]; then \ conda install -y cuda -c "nvidia/label/cuda-${CUDA_VERSION}"; \ fi