diff --git a/Dockerfile b/Dockerfile index a78b777f6ab29c5f1ef95aac695d6990cd63aa04..398f94d39316cfaa3e1f04e641a074525601bbca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,12 @@ ARG IMAGE_NAME=nvidia/cuda FROM nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04 -# Install dependencies: cmake, python 3.6, wget -RUN apt-get update && apt-get install -y --no-install-recommends cmake python3 curl git +# Install dependencies: python 3.6, curl, git +RUN apt-get update && apt-get install -y --no-install-recommends python3 curl git + +# Install cmake +RUN curl -L https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0-linux-x86_64.sh -o cmake.sh && \ + bash ./cmake.sh --skip-license --prefix=/usr && rm cmake.sh # Install conda RUN curl https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh -o anaconda.sh && \ diff --git a/hpvm/install.sh b/hpvm/install.sh index dd737034f043e2022710a94982467e60456d2bd4..3676a61972ff32566102d0eebdb490f00eaccb4b 100755 --- a/hpvm/install.sh +++ b/hpvm/install.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Run installer script -# Pass on args to installer that can parse them +# Run installer script and pass on args to installer that can parse them scripts/hpvm_installer.py "$@" -# Set path. -export PATH=$BUILD_DIR/bin:$PATH +ret_code=$? +echo "Installer returned with code $ret_code" +exit $ret_code diff --git a/hpvm/scripts/hpvm_installer.py b/hpvm/scripts/hpvm_installer.py index 26166d6b58443f65deb37b2c5a8370c35b91eeff..215db6e2a43103e893639ee5fdb96af80c33f426 100755 --- a/hpvm/scripts/hpvm_installer.py +++ b/hpvm/scripts/hpvm_installer.py @@ -7,7 +7,7 @@ from typing import List VERSION = "9.0.0" URL = "http://releases.llvm.org" -WGET = "wget" +DOWNLOADER = "curl" CLANG_DIR = f"cfe-{VERSION}.src" CLANG_TARBALL = f"{CLANG_DIR}.tar.xz" LLVM_DIR = f"llvm-{VERSION}.src" @@ -181,7 +181,7 @@ def check_download_llvm_clang(): else: print(f"Downloading {LLVM_TARBALL}...") print(f"=============================") - check_call([WGET, f"{URL}/{VERSION}/{LLVM_TARBALL}"]) + download(f"{URL}/{VERSION}/{LLVM_TARBALL}", LLVM_TARBALL) check_call(["tar", "xf", LLVM_TARBALL]) check_call(["mv", LLVM_DIR, "llvm"]) tools = Path("llvm/tools") @@ -196,7 +196,7 @@ def check_download_llvm_clang(): chdir(tools) print(f"Downloading {CLANG_TARBALL}...") print(f"=============================") - check_call([WGET, f"{URL}/{VERSION}/{CLANG_TARBALL}"]) + download(f"{URL}/{VERSION}/{CLANG_TARBALL}", CLANG_TARBALL) check_call(["tar", "xf", CLANG_TARBALL]) check_call(["mv", CLANG_DIR, "clang"]) assert Path("clang/").is_dir(), "Problem with clang download. Exiting!" @@ -214,7 +214,7 @@ def check_download_model_params(): else: print(f"Downloading DNN model parameters: {MODEL_PARAMS_TAR}...") print(f"=============================") - check_call([WGET, MODEL_PARAMS_LINK, "-O", MODEL_PARAMS_TAR]) + download(MODEL_PARAMS_LINK, MODEL_PARAMS_TAR) print( f"Extracting DNN model parameters {MODEL_PARAMS_TAR} => {MODEL_PARAMS_DIR}..." ) @@ -310,6 +310,10 @@ def input_with_check(prompt: str, parse, prompt_when_invalid: str): return value +def download(link: str, output: Path): + check_call(["curl", "-L", link, "-o", output]) + + def main(): from sys import argv