aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/tools
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <bsteiner@google.com>2016-08-12 15:02:49 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-08-12 16:16:31 -0700
commita92da9e09fb476a9b267499e326919a89b826fb7 (patch)
tree37c257b0d2d5e82b6f8caa8ad97e4f4de2b39a75 /tensorflow/tools
parent9ace75c7c88f30a488ce022be03b8f6dc1c9c990 (diff)
Merge changes from github.
Change: 130150683
Diffstat (limited to 'tensorflow/tools')
-rw-r--r--tensorflow/tools/ci_build/Dockerfile.cmake16
-rwxr-xr-xtensorflow/tools/ci_build/builds/cmake.sh31
-rwxr-xr-xtensorflow/tools/ci_build/install/install_proto3_from_source.sh55
3 files changed, 100 insertions, 2 deletions
diff --git a/tensorflow/tools/ci_build/Dockerfile.cmake b/tensorflow/tools/ci_build/Dockerfile.cmake
new file mode 100644
index 0000000000..4b2e7d3c87
--- /dev/null
+++ b/tensorflow/tools/ci_build/Dockerfile.cmake
@@ -0,0 +1,16 @@
+FROM ubuntu:16.04
+
+MAINTAINER Shanqing Cai <cais@google.com>
+
+# Copy and run the install scripts.
+COPY install/*.sh /install/
+RUN /install/install_bootstrap_deb_packages.sh
+RUN /install/install_deb_packages.sh
+RUN /install/install_proto3_from_source.sh
+
+RUN pip install --upgrade numpy
+
+# Install golang
+RUN add-apt-repository -y ppa:ubuntu-lxc/lxd-stable
+RUN apt-get update
+RUN apt-get install -y golang
diff --git a/tensorflow/tools/ci_build/builds/cmake.sh b/tensorflow/tools/ci_build/builds/cmake.sh
index fe8e84152b..fe23609678 100755
--- a/tensorflow/tools/ci_build/builds/cmake.sh
+++ b/tensorflow/tools/ci_build/builds/cmake.sh
@@ -16,7 +16,34 @@
set -e
+
+# Determine the number of cores, for parallel make.
+N_JOBS=$(grep -c ^processor /proc/cpuinfo)
+if [[ -z ${N_JOBS} ]]; then
+ # The Linux way didn't work. Try the Mac way.
+ N_JOBS=$(sysctl -n hw.ncpu)
+fi
+if [[ -z ${N_JOBS} ]]; then
+ N_JOBS=1
+ echo ""
+ echo "WARNING: Failed to determine the number of CPU cores. "\
+"Will use --jobs=1 for make."
+fi
+
+echo ""
+echo "make will use ${N_JOBS} concurrent job(s)."
+echo ""
+
+
+# Run TensorFlow cmake build.
+# Clean up, because certain modules, e.g., highwayhash, seem to be sensitive
+# to state.
+rm -rf build
+
mkdir -p build
-cd build
+pushd build
+
cmake -DCMAKE_BUILD_TYPE=Release ../tensorflow/contrib/cmake
-make all
+make --jobs=${N_JOBS} all
+
+popd
diff --git a/tensorflow/tools/ci_build/install/install_proto3_from_source.sh b/tensorflow/tools/ci_build/install/install_proto3_from_source.sh
new file mode 100755
index 0000000000..5a729b7c13
--- /dev/null
+++ b/tensorflow/tools/ci_build/install/install_proto3_from_source.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
+#
+# 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.
+# ==============================================================================
+
+set -e
+
+# Install protobuf3 from source.
+
+# Determine the number of cores, for parallel make.
+N_JOBS=$(grep -c ^processor /proc/cpuinfo)
+if [[ -z ${N_JOBS} ]]; then
+ # The Linux way didn't work. Try the Mac way.
+ N_JOBS=$(sysctl -n hw.ncpu)
+fi
+if [[ -z ${N_JOBS} ]]; then
+ N_JOBS=1
+ echo ""
+ echo "WARNING: Failed to determine the number of CPU cores. "\
+"Will use --jobs=1 for make."
+fi
+
+echo ""
+echo "make will use ${N_JOBS} concurrent job(s)."
+echo ""
+
+
+# Build and install protobuf.
+PROTOBUF_VERSION="3.0.0-beta-2"
+PROTOBUF_DOWNLOAD_DIR="/tmp/protobuf"
+
+mkdir "${PROTOBUF_DOWNLOAD_DIR}"
+pushd "${PROTOBUF_DOWNLOAD_DIR}"
+curl -fSsL -O https://github.com/google/protobuf/releases/download/v$PROTOBUF_VERSION/protobuf-cpp-$PROTOBUF_VERSION.tar.gz
+tar zxf protobuf-cpp-$PROTOBUF_VERSION.tar.gz
+cd protobuf-$PROTOBUF_VERSION
+./autogen.sh
+./configure
+make --jobs=${N_JOBS}
+sudo make install
+make clean
+sudo ldconfig
+popd
+rm -rf "${PROTOBUF_DOWNLOAD_DIR}"