From 018609c69498001d3102a772ee72efb4a932939d Mon Sep 17 00:00:00 2001 From: Yaoming Mu Date: Wed, 15 Mar 2023 22:18:23 +0100 Subject: [PATCH] add Dockerfile.amd to build MONAI docker image for AMD GPU. The file is based on Dockerfile for NVIDIA GPU. --- Dockerfile.amd | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Dockerfile.amd diff --git a/Dockerfile.amd b/Dockerfile.amd new file mode 100644 index 0000000000..d595a2f175 --- /dev/null +++ b/Dockerfile.amd @@ -0,0 +1,41 @@ +# Copyright (c) MONAI Consortium +# Licensed 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. + +# To build with a different base image +# please run `docker build` using the `--build-arg PYTORCH_IMAGE=...` flag. +#ARG ARCH=ROCM +ARG PYTORCH_IMAGE=rocm/pytorch:rocm5.4_ubuntu20.04_py3.8_pytorch_1.12.1 +FROM ${PYTORCH_IMAGE} + +LABEL maintainer="monai.contact@gmail.com" + +WORKDIR /opt/monai + +# install full deps +COPY requirements.txt requirements-min.txt requirements-dev.txt /tmp/ +RUN cp /tmp/requirements.txt /tmp/req.bak \ + && sed -i '/cucim/d' /tmp/requirements-dev.txt \ + && awk '!/torch/' /tmp/requirements.txt > /tmp/tmp && mv /tmp/tmp /tmp/requirements.txt \ + && python -m pip install --upgrade --no-cache-dir pip \ + && python -m pip install --no-cache-dir -r /tmp/requirements-dev.txt + + +# compile ext and remove temp files +# TODO: remark for issue [revise the dockerfile #1276](https://github.com/Project-MONAI/MONAI/issues/1276) +# please specify exact files and folders to be copied -- else, basically always, the Docker build process cannot cache +# this or anything below it and always will build from at most here; one file change leads to no caching from here on... + +COPY LICENSE CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md README.md versioneer.py setup.py setup.cfg runtests.sh MANIFEST.in ./ +COPY tests ./tests +COPY monai ./monai +RUN BUILD_MONAI=1 FORCE_CUDA=1 python setup.py develop \ + && rm -rf build __pycache__ +WORKDIR /opt/monai