# -*- mode: dockerfile -*- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # # Python MXNet Dockerfile # NOTE: Assumes wheel_build directory is the context root when building ARG BASE_IMAGE FROM ${BASE_IMAGE} ARG CUDA_VARIANT # manually update cuda repo key: https://developer.nvidia.com/blog/updating-the-cuda-linux-gpg-repository-key/ # remove this after nvidia updates the base images with new keys RUN if [ "$CUDA_VARIANT" != "false" ] ; then \ apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub; \ fi RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository -y ppa:deadsnakes/ppa && \ apt-get update && \ apt-get install -y python3.7-dev python3.7-distutils virtualenv wget && \ ln -sf /usr/bin/python3.7 /usr/local/bin/python3 && \ wget -nv https://bootstrap.pypa.io/get-pip.py && \ python3 get-pip.py RUN apt-get install -y libgomp1 ARG MXNET_VARIANT RUN if [ "$MXNET_VARIANT" = "aarch64_cpu" ] ; then echo "not installing libquadmath0 on aarch64" ; else apt-get install -y libquadmath0 ; fi RUN if [ "$MXNET_VARIANT" = "aarch64_cpu" ] ; then \ wget https://armkeil.blob.core.windows.net/developer/Files/downloads/hpc/arm-performance-libraries/21-0-0/Ubuntu18.04/arm-performance-libraries_21.0_Ubuntu-18.04_gcc-8.2.tar && \ tar -xvf arm-performance-libraries_21.0_Ubuntu-18.04_gcc-8.2.tar && \ arm-performance-libraries_21.0_Ubuntu-18.04_gcc-8.2/arm-performance-libraries_21.0_Ubuntu-18.04.sh -a; \ fi ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/arm/armpl_21.0_gcc-8.2/lib:/usr/local/cuda-${CUDA_VARIANT}/compat ARG MXNET_COMMIT_ID ENV MXNET_COMMIT_ID=${MXNET_COMMIT_ID} RUN mkdir -p /mxnet COPY dist/*.whl /mxnet/. WORKDIR /mxnet RUN WHEEL_FILE=$(ls -t /mxnet | head -n 1) && pip install ${WHEEL_FILE} && rm -f ${WHEEL_FILE}