• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env bash
2# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#     http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15# ==============================================================================
16# Build a whl and container with Intel(R) MKL support
17# Usage: build-dev-container.sh
18
19# Helper function to traverse directories up until given file is found.
20function upsearch () {
21  test / == "$PWD" && return || \
22      test -e "$1" && echo "$PWD" && return || \
23      cd .. && upsearch "$1"
24}
25
26# Set up WORKSPACE.
27WORKSPACE="${WORKSPACE:-$(upsearch WORKSPACE)}"
28
29TF_DOCKER_BUILD_DEVEL_BRANCH=${TF_DOCKER_BUILD_DEVEL_BRANCH:-master}
30TF_DOCKER_BUILD_IMAGE_NAME=${TF_DOCKER_BUILD_IMAGE_NAME:-intel-mkl/tensorflow}
31TF_DOCKER_BUILD_VERSION=${TF_DOCKER_BUILD_VERSION:-nightly}
32
33echo "TF_DOCKER_BUILD_DEVEL_BRANCH=${TF_DOCKER_BUILD_DEVEL_BRANCH}"
34echo "TF_DOCKER_BUILD_IMAGE_NAME=${TF_DOCKER_BUILD_IMAGE_NAME}"
35echo "TF_DOCKER_BUILD_VERSION=${TF_DOCKER_BUILD_VERSION}"
36
37# Build containers for AVX
38# Include the instructions for sandybridge and later, but tune for ivybridge
39TF_BAZEL_BUILD_OPTIONS="--config=mkl --copt=-march=sandybridge --copt=-mtune=ivybridge --copt=-O3 --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0"
40
41# build the python 2 container and whl
42TF_DOCKER_BUILD_TYPE="MKL" \
43  TF_DOCKER_BUILD_IS_DEVEL="YES" \
44  TF_DOCKER_BUILD_DEVEL_BRANCH="${TF_DOCKER_BUILD_DEVEL_BRANCH}" \
45  TF_DOCKER_BUILD_IMAGE_NAME="${TF_DOCKER_BUILD_IMAGE_NAME}" \
46  TF_DOCKER_BUILD_VERSION="${TF_DOCKER_BUILD_VERSION}" \
47  TF_BAZEL_BUILD_OPTIONS="${TF_BAZEL_BUILD_OPTIONS}" \
48  ${WORKSPACE}/tensorflow/tools/docker/parameterized_docker_build.sh
49
50# build the python 3 container and whl
51TF_DOCKER_BUILD_TYPE="MKL" \
52  TF_DOCKER_BUILD_IS_DEVEL="YES" \
53  TF_DOCKER_BUILD_DEVEL_BRANCH="${TF_DOCKER_BUILD_DEVEL_BRANCH}" \
54  TF_DOCKER_BUILD_IMAGE_NAME="${TF_DOCKER_BUILD_IMAGE_NAME}" \
55  TF_DOCKER_BUILD_VERSION="${TF_DOCKER_BUILD_VERSION}" \
56  TF_DOCKER_BUILD_PYTHON_VERSION="PYTHON3" \
57  TF_BAZEL_BUILD_OPTIONS="${TF_BAZEL_BUILD_OPTIONS}" \
58  ${WORKSPACE}/tensorflow/tools/docker/parameterized_docker_build.sh
59
60# build the python3.6 container and whl
61TF_DOCKER_BUILD_TYPE="MKL" \
62  TF_DOCKER_BUILD_IS_DEVEL="YES" \
63  TF_DOCKER_BUILD_DEVEL_BRANCH="${TF_DOCKER_BUILD_DEVEL_BRANCH}" \
64  TF_DOCKER_BUILD_IMAGE_NAME="${TF_DOCKER_BUILD_IMAGE_NAME}" \
65  TF_DOCKER_BUILD_VERSION="${TF_DOCKER_BUILD_VERSION}" \
66  TF_DOCKER_BUILD_PYTHON_VERSION="PYTHON3.6" \
67  TF_BAZEL_BUILD_OPTIONS="${TF_BAZEL_BUILD_OPTIONS}" \
68  ${WORKSPACE}/tensorflow/tools/docker/parameterized_docker_build.sh
69
70
71# Build containers for AVX2
72# Include the instructions for haswell and later, but tune for broadwell
73TF_BAZEL_BUILD_OPTIONS="--config=mkl --copt=-march=haswell --copt=-mtune=broadwell --copt=-O3 --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0"
74
75# build the python 2 container and whl
76TF_DOCKER_BUILD_TYPE="MKL" \
77  TF_DOCKER_BUILD_IS_DEVEL="YES" \
78  TF_DOCKER_BUILD_DEVEL_BRANCH="${TF_DOCKER_BUILD_DEVEL_BRANCH}" \
79  TF_DOCKER_BUILD_IMAGE_NAME="${TF_DOCKER_BUILD_IMAGE_NAME}" \
80  TF_DOCKER_BUILD_VERSION="${TF_DOCKER_BUILD_VERSION}-avx2" \
81  TF_BAZEL_BUILD_OPTIONS="${TF_BAZEL_BUILD_OPTIONS}" \
82  ${WORKSPACE}/tensorflow/tools/docker/parameterized_docker_build.sh
83
84# build the python 3 container and whl
85TF_DOCKER_BUILD_TYPE="MKL" \
86  TF_DOCKER_BUILD_IS_DEVEL="YES" \
87  TF_DOCKER_BUILD_DEVEL_BRANCH="${TF_DOCKER_BUILD_DEVEL_BRANCH}" \
88  TF_DOCKER_BUILD_IMAGE_NAME="${TF_DOCKER_BUILD_IMAGE_NAME}" \
89  TF_DOCKER_BUILD_VERSION="${TF_DOCKER_BUILD_VERSION}-avx2" \
90  TF_DOCKER_BUILD_PYTHON_VERSION="PYTHON3" \
91  TF_BAZEL_BUILD_OPTIONS="${TF_BAZEL_BUILD_OPTIONS}" \
92  ${WORKSPACE}/tensorflow/tools/docker/parameterized_docker_build.sh
93
94# build the python3.6 container and whl
95TF_DOCKER_BUILD_TYPE="MKL" \
96  TF_DOCKER_BUILD_IS_DEVEL="YES" \
97  TF_DOCKER_BUILD_DEVEL_BRANCH="${TF_DOCKER_BUILD_DEVEL_BRANCH}" \
98  TF_DOCKER_BUILD_IMAGE_NAME="${TF_DOCKER_BUILD_IMAGE_NAME}" \
99  TF_DOCKER_BUILD_VERSION="${TF_DOCKER_BUILD_VERSION}-avx2" \
100  TF_DOCKER_BUILD_PYTHON_VERSION="PYTHON3.6" \
101  TF_BAZEL_BUILD_OPTIONS="${TF_BAZEL_BUILD_OPTIONS}" \
102  ${WORKSPACE}/tensorflow/tools/docker/parameterized_docker_build.sh
103
104