1FROM mcr.microsoft.com/vscode/devcontainers/miniconda:0-3 2 3# I am suprised this is needed 4RUN conda init 5 6# Copy environment.yml (if found) to a temp location so we update the environment. Also 7# copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists. 8COPY .devcontainer/cuda/environment.yml .devcontainer/noop.txt /tmp/conda-tmp/ 9RUN 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 \ 10 && sudo rm -rf /tmp/conda-tmp 11 12# Tools needed for llvm 13RUN sudo apt-get -y update 14RUN sudo apt install -y lsb-release wget software-properties-common gnupg 15 16# Install CLANG if version is specified 17ARG CLANG_VERSION 18RUN if [ -n "$CLANG_VERSION" ]; then \ 19 sudo wget https://apt.llvm.org/llvm.sh; \ 20 chmod +x llvm.sh; \ 21 sudo ./llvm.sh "${CLANG_VERSION}"; \ 22 echo 'export CC=clang' >> ~/.bashrc; \ 23 echo 'export CXX=clang++' >> ~/.bashrc; \ 24 sudo apt update; \ 25 sudo apt install -y clang; \ 26 sudo apt install -y libomp-dev; \ 27 fi 28 29 30# Install cuda if version is specified 31ARG CUDA_VERSION 32RUN if [ -n "$CUDA_VERSION" ]; then \ 33 conda install -y cuda -c "nvidia/label/cuda-${CUDA_VERSION}"; \ 34 fi 35