Skip to content
This repository was archived by the owner on Apr 28, 2023. It is now read-only.

[WIP] Exp/rnn #572

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
command: |
. /opt/conda/anaconda/bin/activate
source activate tc_build
conda install -y -c nicolasvasilache llvm-trunk halide
conda install -y -c nicolasvasilache llvm-trunk halide_experimental

- run:
name: check_formatting
Expand Down
2 changes: 1 addition & 1 deletion .jenkins/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ cd /var/lib/jenkins/workspace
git submodule update --init --recursive

source activate tc_build
conda install -y -c nicolasvasilache llvm-trunk halide
conda install -y -c nicolasvasilache llvm-trunk halide_experimental
conda install -y -c conda-forge eigen
conda install -y -c nicolasvasilache caffe2

Expand Down
110 changes: 63 additions & 47 deletions conda_recipes/conda_build_tc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,60 +9,76 @@ ANACONDA_USER=nicolasvasilache
# set the anaconda upload to NO for now
conda config --set anaconda_upload no

echo "Packaging Caffe2"

###############################################################################
# Caffe2 settings
CAFFE2_BUILD_VERSION="1.0.0"
CAFFE2_BUILD_NUMBER=1
PYTORCH_GIT_HASH="8d91a602cc2beab090715bb6bd63ab108db5fa36"

echo "Packaging Caffe2 ==> CAFFE2_BUILD_VERSION: ${CAFFE2_BUILD_VERSION} CAFFE2_BUILD_NUMBER: ${CAFFE2_BUILD_NUMBER}"

export CAFFE2_BUILD_VERSION=$CAFFE2_BUILD_VERSION
export CAFFE2_BUILD_NUMBER=$CAFFE2_BUILD_NUMBER
export PYTORCH_GIT_HASH=$CAFFE2PYTORCH_GIT_HASH

time conda build -c $ANACONDA_USER --python 3.6 caffe2

echo "Caffe2 packaged Successfully"

#echo "Packaging Caffe2"
#
################################################################################
## Caffe2 settings
#CAFFE2_BUILD_VERSION="1.0.0"
#CAFFE2_BUILD_NUMBER=1
#PYTORCH_GIT_HASH="8d91a602cc2beab090715bb6bd63ab108db5fa36"
#
#echo "Packaging Caffe2 ==> CAFFE2_BUILD_VERSION: ${CAFFE2_BUILD_VERSION} CAFFE2_BUILD_NUMBER: ${CAFFE2_BUILD_NUMBER}"
#
#export CAFFE2_BUILD_VERSION=$CAFFE2_BUILD_VERSION
#export CAFFE2_BUILD_NUMBER=$CAFFE2_BUILD_NUMBER
#export PYTORCH_GIT_HASH=$CAFFE2PYTORCH_GIT_HASH
#
#time conda build -c $ANACONDA_USER --python 3.6 caffe2
#
#echo "Caffe2 packaged Successfully"
#
################################################################################
## LLVM_TRUNK settings
#LLVM_TRUNK_BUILD_VERSION="1.0.0"
#LLVM_TRUNK_BUILD_NUMBER=1
#LLVM_TRUNK_SOURCE_DIR=$(mktemp -d /tmp/d.XXXXXX)
#trap 'rm -rf "${LLVM_TRUNK_SOURCE_DIR}"' EXIT
#
#svn co http://llvm.org/svn/llvm-project/llvm/trunk ${LLVM_TRUNK_SOURCE_DIR}
#svn co http://llvm.org/svn/llvm-project/cfe/trunk ${LLVM_TRUNK_SOURCE_DIR}/tools/clang
#
#echo "Building llvm-trunk"
#echo "LLVM_TRUNK_BUILD_VERSION: $LLVM_TRUNK_BUILD_VERSION LLVM_TRUNK_BUILD_NUMBER: ${LLVM_TRUNK_BUILD_NUMBER}"
#
#export LLVM_TRUNK_BUILD_VERSION=$LLVM_TRUNK_BUILD_VERSION
#export LLVM_TRUNK_BUILD_NUMBER=$LLVM_TRUNK_BUILD_NUMBER
#export LLVM_TRUNK_SOURCE_DIR=$LLVM_TRUNK_SOURCE_DIR
#
#time conda build -c $ANACONDA_USER --python 3.6 llvm-trunk
#
#echo "llvm-trunk packaged Successfully"
#
###############################################################################
# LLVM_TRUNK settings
LLVM_TRUNK_BUILD_VERSION="1.0.0"
LLVM_TRUNK_BUILD_NUMBER=1
LLVM_TRUNK_SOURCE_DIR=$(mktemp -d /tmp/d.XXXXXX)
trap 'rm -rf "${LLVM_TRUNK_SOURCE_DIR}"' EXIT

svn co http://llvm.org/svn/llvm-project/llvm/trunk ${LLVM_TRUNK_SOURCE_DIR}
svn co http://llvm.org/svn/llvm-project/cfe/trunk ${LLVM_TRUNK_SOURCE_DIR}/tools/clang

echo "Building llvm-trunk"
echo "LLVM_TRUNK_BUILD_VERSION: $LLVM_TRUNK_BUILD_VERSION LLVM_TRUNK_BUILD_NUMBER: ${LLVM_TRUNK_BUILD_NUMBER}"

export LLVM_TRUNK_BUILD_VERSION=$LLVM_TRUNK_BUILD_VERSION
export LLVM_TRUNK_BUILD_NUMBER=$LLVM_TRUNK_BUILD_NUMBER
export LLVM_TRUNK_SOURCE_DIR=$LLVM_TRUNK_SOURCE_DIR

time conda build -c $ANACONDA_USER --python 3.6 llvm-trunk

echo "llvm-trunk packaged Successfully"
## Halide settings
#HALIDE_BUILD_VERSION="1.0.0"
#HALIDE_BUILD_NUMBER=1
#HALIDE_GIT_HASH="0b29cacf636852933892bbaa61dd2050c8dcaff2"
#
#echo "Packaging HALIDE ==> HALIDE_BUILD_VERSION: ${HALIDE_BUILD_VERSION} HALIDE_BUILD_NUMBER: ${HALIDE_BUILD_NUMBER}"
#
#export HALIDE_BUILD_VERSION=$HALIDE_BUILD_VERSION
#export HALIDE_BUILD_NUMBER=$HALIDE_BUILD_NUMBER
#export HALIDE_GIT_HASH=$HALIDE_GIT_HASH
#
#time conda build -c $ANACONDA_USER --python 3.6 halide
#
#echo "HALIDE packaged Successfully"

##############################################################################
# Halide settings
HALIDE_BUILD_VERSION="1.0.0"
HALIDE_BUILD_NUMBER=1
HALIDE_GIT_HASH="0b29cacf636852933892bbaa61dd2050c8dcaff2"
# Halide_Experimental settings
HALIDE_EXPERIMENTAL_BUILD_VERSION="1.0.0"
HALIDE_EXPERIMENTAL_BUILD_NUMBER=1
HALIDE_EXPERIMENTAL_GIT_HASH="0c6f23c9c7b17a82718ffee69b6360483302d63a"

echo "Packaging HALIDE ==> HALIDE_BUILD_VERSION: ${HALIDE_BUILD_VERSION} HALIDE_BUILD_NUMBER: ${HALIDE_BUILD_NUMBER}"
echo "Packaging HALIDE_EXPERIMENTAL ==> HALIDE_EXPERIMENTAL_BUILD_VERSION: ${HALIDE_EXPERIMENTAL_BUILD_VERSION} HALIDE_EXPERIMENTAL_BUILD_NUMBER: ${HALIDE_EXPERIMENTAL_BUILD_NUMBER}"

export HALIDE_BUILD_VERSION=$HALIDE_BUILD_VERSION
export HALIDE_BUILD_NUMBER=$HALIDE_BUILD_NUMBER
export HALIDE_GIT_HASH=$HALIDE_GIT_HASH
export HALIDE_EXPERIMENTAL_BUILD_VERSION=$HALIDE_EXPERIMENTAL_BUILD_VERSION
export HALIDE_EXPERIMENTAL_BUILD_NUMBER=$HALIDE_EXPERIMENTAL_BUILD_NUMBER
export HALIDE_EXPERIMENTAL_GIT_HASH=$HALIDE_EXPERIMENTAL_GIT_HASH

time conda build -c $ANACONDA_USER --python 3.6 halide
time conda build -c $ANACONDA_USER --python 3.6 halide_experimental

echo "HALIDE packaged Successfully"
echo "HALIDE_EXPERIMENTAL packaged Successfully"

################################################################################
## Tensor Comprehensions settings
Expand Down
10 changes: 9 additions & 1 deletion conda_recipes/halide/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,17 @@ LLVM_CONFIG=${LLVM_CONFIG} \
VERBOSE=${VERBOSE} \
PREFIX=${INSTALL_PREFIX} \
WITH_LLVM_INSIDE_SHARED_LIBHALIDE= \
WITH_X86=1 \
WITH_ARM= \
WITH_HEXAGON= \
WITH_MIPS= \
WITH_AARCH64= \
WITH_POWERPC= \
WITH_PTX=1 \
WITH_AMDGPU= \
WITH_OPENCL= \
WITH_OPENGL= \
WITH_METAL= \
WITH_OPENGL= \
WITH_EXCEPTIONS=1 \
make -f ../Makefile -j"$(nproc)" install || exit 1
mkdir -p ${INSTALL_PREFIX}/include/Halide
Expand Down
71 changes: 71 additions & 0 deletions conda_recipes/halide_experimental/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#!/usr/bin/env bash

set -e

# code gets checked out at below:
# $SOURCE_DIR ===> <anaconda_root>/conda-bld/halide_experimental_<timestamp>/work
#
# build directory gets created at $SOURCE_DIR/build
#
# CONDA environment for debugging:
# cd <anaconda_root>/conda-bld/halide_experimental_<timestamp>
# source activate ./_h_env_...... # long placeholders
#
# $CONDA_PREFIX and $PREFIX are set to the same value i.e. the environment value
#
# Installation happens in the $PREFIX which is the environment and rpath is set
# to that
#
# For tests, a new environment _test_env_.... is created
# During the tests, you will see that the halide_experimental package gets checked out

CMAKE_VERSION=${CMAKE_VERSION:="`which cmake3 || which cmake`"}
VERBOSE=${VERBOSE:=0}

CC=${CC:="`which gcc`"}
CXX=${CXX:="`which g++`"}

export INSTALL_PREFIX=$PREFIX
echo "CONDA_PREFIX: ${CONDA_PREFIX}"
echo "PREFIX: ${PREFIX}"

export CLANG_PREFIX=$($PREFIX/bin/llvm-config --prefix)
echo "CLANG_PREFIX: ${CLANG_PREFIX}"

echo "Building Halide_Experimental conda package"

echo "Clean up existing build packages if any"
rm -rf build || true

mkdir -p build
cd build

echo "Configuring Halide_Experimental"

LLVM_CONFIG_FROM_PREFIX=${CLANG_PREFIX}/bin/llvm-config
LLVM_CONFIG=$( which $LLVM_CONFIG_FROM_PREFIX || which llvm-config-4.0 || which llvm-config )
CLANG_FROM_PREFIX=${CLANG_PREFIX}/bin/clang
CLANG=$( which $CLANG_FROM_PREFIX || which clang-4.0 || which clang )

CLANG=${CLANG} \
LLVM_CONFIG=${LLVM_CONFIG} \
VERBOSE=${VERBOSE} \
PREFIX=${INSTALL_PREFIX} \
WITH_LLVM_INSIDE_SHARED_LIBHALIDE= \
WITH_X86=1 \
WITH_ARM= \
WITH_HEXAGON= \
WITH_MIPS= \
WITH_AARCH64= \
WITH_POWERPC= \
WITH_PTX=1 \
WITH_AMDGPU= \
WITH_OPENCL= \
WITH_METAL= \
WITH_OPENGL= \
WITH_EXCEPTIONS=1 \
make -f ../Makefile -j"$(nproc)" install || exit 1
mkdir -p ${INSTALL_PREFIX}/include/Halide
mv ${INSTALL_PREFIX}/include/Halide*.h ${INSTALL_PREFIX}/include/Halide/ || exit 1

echo "Successfully built Halide_Experimental conda package"
34 changes: 34 additions & 0 deletions conda_recipes/halide_experimental/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package:
name: halide_experimental
version: "{{ environ.get('HALIDE_EXPERIMENTAL_BUILD_VERSION') }}"

source:
git_url: https://github.com/nicolasvasilache/Halide.git
git_rev: "{{ environ.get('HALIDE_EXPERIMENTAL_GIT_HASH') }}"

requirements:
build:
- llvm-trunk==1.0.0
- cmake
run:
- llvm-trunk==1.0.0
- cmake

build:
number: {{ environ.get('HALIDE_EXPERIMENTAL_BUILD_NUMBER') }}
skip: True # [win]

test:
commands:
- test -f $PREFIX/lib/libHalide.so
- test -f $PREFIX/lib/libHalide.a
- test -d $PREFIX/include/Halide

about:
home: http://halide-lang.org
license: MIT
summary: A language for image processing and computational photography

extra:
recipe-maintainers:
- nicolasvasilache
Loading