Skip to content
Snippets Groups Projects
Commit 710e43e4 authored by Yifan Zhao's avatar Yifan Zhao
Browse files

Merge branch 'approx_hpvm_devops' into approx_hpvm_reorg

parents e0a8fdb1 c0a3b0a8
No related branches found
No related tags found
No related merge requests found
image: hpvm/gitlab-ci
variables:
GIT_SUBMODULE_STRATEGY: recursive
# Use a better compressor
FF_USE_FASTZIP: "true"
# output upload and download progress every 2 seconds
TRANSFER_METER_FREQUENCY: "2s"
# Use no compression for artifacts
CACHE_COMPRESSION_LEVEL: "fastest"
cache:
key: "$CI_COMMIT_REF_SLUG"
paths:
- hpvm/build/
- hpvm/llvm/
- hpvm/test/dnn_benchmarks/model_params/
build:
stage: build
tags:
- hpvm
script:
- pwd
- source activate hpvm && cd hpvm
- ./install.sh -j32 -t "X86" DCMAKE_BUILD_TYPE=Release
- cd ..
only:
changes:
- hpvm/scripts/hpvm_installer.py
tests:
stage: test
tags:
- hpvm
script:
- pwd
- source activate hpvm && cd hpvm
- ./install.sh -j32 -t "X86" DCMAKE_BUILD_TYPE=Release
- cd build && make -j32 check-hpvm-pass
ARG IMAGE_NAME=nvidia/cuda
FROM nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04
# Install dependencies: python 3.6, curl, git, libboost
RUN apt-get update && apt-get install -y --no-install-recommends python3 curl git libboost-dev
# 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 && \
bash anaconda.sh -b && rm anaconda.sh
# Set PATH to include conda
ENV PATH="/root/anaconda3/bin:${PATH}"
# Send conda env spec into container
COPY . /root/hpvm/
# Create conda env named hpvm based on spec
RUN conda env create -n hpvm -f /root/hpvm/hpvm/env.yaml
# The HPVM Compiler Infrastructure
[![Documentation Status](https://readthedocs.org/projects/hpvm/badge/?version=latest)](https://hpvm.readthedocs.io/en/latest/?badge=latest)
[![pipeline status](https://gitlab.engr.illinois.edu/llvm/hpvm/badges/approx_hpvm_devops/pipeline.svg)](https://gitlab.engr.illinois.edu/llvm/hpvm/-/commits/approx_hpvm_devops)
This repository contains the source code and documentation for the HPVM Compiler Infrastructure.
......
#!/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
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment