Dockerfile 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #SPDX-License-Identifier: Apache-2.0
  2. ARG FROM_IMAGE_NAME=nvcr.io/nvidia/pytorch:21.09-py3
  3. FROM ${FROM_IMAGE_NAME}
  4. ENV DEBIAN_FRONTEND=noninteractive
  5. ENV DCGM_VERSION=2.2.9
  6. ENV MODEL_NAVIGATOR_CONTAINER=1
  7. RUN apt-get update && \
  8. apt-get install --no-install-recommends -y software-properties-common curl python3-dev python3-pip python-is-python3 libb64-dev wget git wkhtmltopdf && \
  9. \
  10. curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \
  11. add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" && \
  12. apt-get update && \
  13. apt-get install --no-install-recommends -y docker-ce docker-ce-cli containerd.io && \
  14. \
  15. . /etc/os-release && \
  16. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey| apt-key add - && \
  17. curl -s -L "https://nvidia.github.io/nvidia-docker/${ID}${VERSION_ID}/nvidia-docker.list" > /etc/apt/sources.list.d/nvidia-docker.list && \
  18. apt-get update && \
  19. apt-get install --no-install-recommends -y nvidia-docker2 && \
  20. \
  21. curl -s -L -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/datacenter-gpu-manager_${DCGM_VERSION}_amd64.deb && \
  22. dpkg -i datacenter-gpu-manager_${DCGM_VERSION}_amd64.deb && \
  23. rm datacenter-gpu-manager_${DCGM_VERSION}_amd64.deb && \
  24. \
  25. apt-get clean && \
  26. rm -rf /var/lib/apt/lists/*
  27. # Install perf_client required library
  28. RUN apt-get update && \
  29. apt-get install -y libb64-dev libb64-0d curl && \
  30. apt-get clean && \
  31. rm -rf /var/lib/apt/lists/*
  32. # Set workdir and python path
  33. WORKDIR /workspace
  34. ENV PYTHONPATH /workspace
  35. RUN pip install --upgrade pip
  36. ADD requirements.txt /workspace/requirements.txt
  37. ADD triton/requirements.txt /workspace/triton/requirements.txt
  38. RUN pip install -r /workspace/requirements.txt
  39. RUN pip install -r /workspace/triton/requirements.txt
  40. RUN pip install git+https://github.com/NVIDIA/dllogger#egg=dllogger
  41. RUN pip install --no-cache-dir -r requirements.txt -f https://data.dgl.ai/wheels/repo.html
  42. # Add model files to workspace
  43. ADD . /workspace
  44. # AMP monkey-patch
  45. RUN sed -i 's/ def forward(ctx,/ @amp.custom_fwd\(cast_inputs=torch.float32\)\n def forward(ctx,/g' /opt/conda/lib/python3.8/site-packages/apex/normalization/fused_layer_norm.py
  46. RUN sed -i 's/ def backward(ctx,/ @amp.custom_bwd\n def backward(ctx,/g' /opt/conda/lib/python3.8/site-packages/apex/normalization/fused_layer_norm.py
  47. RUN sed -i 's/^import torch$/import torch\nfrom torch.cuda import amp/' /opt/conda/lib/python3.8/site-packages/apex/normalization/fused_layer_norm.py
  48. RUN rm -rf examples
  49. RUN rm -rf docker-examples
  50. RUN rm -rf tutorial