FROM nvcr.io/nvidia/pytorch:23.07-py3

WORKDIR /root

RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends \
  build-essential git wget \
  libgtest-dev libprotobuf-dev protobuf-compiler libgflags-dev libsqlite3-dev llvm-dev \
  && apt-get clean autoclean && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*

RUN wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Linux-x86_64.sh -O install_miniconda.sh && \
  bash install_miniconda.sh -b -p /opt/conda && rm install_miniconda.sh

ENV PATH="/opt/conda/bin:${PATH}"

ENV LIBGL_ALWAYS_INDIRECT=1

RUN conda install pip cmake && conda install -c conda-forge libstdcxx-ng=12 && conda clean --all

RUN apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev

RUN git clone https://github.com/tile-ai/tilelang.git --recursive -b main TileLang \
  && cd TileLang && ./install_cuda.sh

CMD bash
