Improve to TF build image and scripts incl AVX2 support #83
This commit is contained in:
parent
1e6f1795c2
commit
852d13797a
|
@ -11,14 +11,10 @@ build --action_env TF_CUDA_CLANG="0"
|
|||
build --action_env TF_CUDA_VERSION="10"
|
||||
build --action_env GCC_HOST_COMPILER_PATH="/usr/bin/gcc-4.8"
|
||||
build --verbose_failures
|
||||
build:opt --copt=-march=core-avx-i
|
||||
build:opt --copt=-Wno-sign-compare
|
||||
build:opt --conlyopt=-std=c11
|
||||
# build:opt --conlyopt=-D_XOPEN_SOURCE=600
|
||||
build:opt --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
|
||||
build:opt --host_copt=-march=core-avx-i
|
||||
build:opt --host_conlyopt=-std=c11
|
||||
# build:opt --host_conlyopt=-D_XOPEN_SOURCE=600
|
||||
build:opt --host_cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
|
||||
build:opt --host_copt=-Wno-sign-compare
|
||||
build:opt --define with_default_optimizations=true
|
||||
|
|
|
@ -49,19 +49,16 @@ RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 10 && \
|
|||
# Download Bazel & TensorFlow
|
||||
WORKDIR "/home/tensorflow"
|
||||
RUN wget https://github.com/tensorflow/tensorflow/archive/v1.14.0.tar.gz
|
||||
RUN wget https://github.com/bazelbuild/bazel/releases/download/0.24.1/bazel-0.24.1-dist.zip
|
||||
RUN tar -xzf v1.14.0.tar.gz
|
||||
|
||||
# Build Bazel
|
||||
WORKDIR "/home/tensorflow/bazel-0.24.1"
|
||||
RUN unzip ../bazel-0.24.1-dist.zip
|
||||
RUN bash ./compile.sh
|
||||
RUN cp output/bazel /usr/local/bin/bazel
|
||||
# Install Bazel
|
||||
RUN wget https://github.com/bazelbuild/bazel/releases/download/0.24.1/bazel-0.24.1-linux-x86_64
|
||||
RUN mv bazel-0.24.1-linux-x86_64 /usr/local/bin/bazel && chmod 755 /usr/local/bin/bazel
|
||||
|
||||
# Configure TensorFlow
|
||||
WORKDIR "/home/tensorflow/tensorflow-1.14.0"
|
||||
COPY /docker/tensorflow/*.sh .
|
||||
COPY /docker/tensorflow/*.diff .
|
||||
COPY /docker/tensorflow/*.sh ./
|
||||
COPY /docker/tensorflow/*.diff ./
|
||||
COPY /docker/tensorflow/.tf_configure.bazelrc .tf_configure.bazelrc
|
||||
COPY /docker/tensorflow/Makefile Makefile
|
||||
RUN make patch
|
||||
|
|
|
@ -1,19 +1,18 @@
|
|||
TF_VERSION=1.14.0
|
||||
|
||||
all: libtensorflow static archive
|
||||
# -march see https://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/i386-and-x86-64-Options.html
|
||||
|
||||
all: libtensorflow libtensorflow-avx libtensorflow-avx2
|
||||
patch:
|
||||
git apply tensorflow-$(TF_VERSION).diff
|
||||
libtensorflow:
|
||||
bazel build --jobs 2 --config=opt //tensorflow:libtensorflow.so
|
||||
bazel build --jobs 2 --config=opt //tensorflow:libtensorflow.so --copt=-march=i686 --host_copt=-i686
|
||||
./create_archive.sh linux-i686 $(TF_VERSION)
|
||||
libtensorflow-avx:
|
||||
bazel build --jobs 2 --config=opt //tensorflow:libtensorflow.so --copt=-march=core-avx-i --host_copt=-march=core-avx-i
|
||||
./create_archive.sh linux-avx $(TF_VERSION)
|
||||
libtensorflow-avx2:
|
||||
bazel build --jobs 2 --config=opt //tensorflow:libtensorflow.so --copt=-march=core-avx2 --host_copt=-march=core-avx2
|
||||
./create_archive.sh linux-avx2 $(TF_VERSION)
|
||||
static:
|
||||
env JOB_COUNT=2 ARCH=core-avx-i ./build_static.sh
|
||||
archive:
|
||||
rm -rf tmp
|
||||
mkdir -p tmp/lib/
|
||||
mkdir -p tmp/include/tensorflow/c/eager/
|
||||
cp bazel-bin/tensorflow/libtensorflow.so.$(TF_VERSION) tmp/lib/libtensorflow.so
|
||||
cp bazel-bin/tensorflow/libtensorflow_framework.so.$(TF_VERSION) tmp/lib/libtensorflow_framework.so
|
||||
cp tensorflow/c/eager/c_api.h tmp/include/tensorflow/c/eager/
|
||||
cp tensorflow/c/c_api.h tensorflow/c/c_api_experimental.h LICENSE tmp/include/tensorflow/c/
|
||||
(cd tmp && tar -czf ../libtensorflow-linux-avx-$(TF_VERSION).tar.gz .)
|
||||
du -h libtensorflow-linux-avx-$(TF_VERSION).tar.gz
|
||||
env JOB_COUNT=2 ARCH=i686 ./build_static.sh
|
||||
|
|
20
docker/tensorflow/create_archive.sh
Executable file
20
docker/tensorflow/create_archive.sh
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [[ -z $1 ]] || [[ -z $2 ]]; then
|
||||
echo "Usage: $0 [platform] [tf-version]" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Creating 'libtensorflow-$1-$2.tar.gz'...";
|
||||
|
||||
rm -rf tmp
|
||||
mkdir -p tmp/lib/
|
||||
mkdir -p tmp/include/tensorflow/c/eager/
|
||||
cp bazel-bin/tensorflow/libtensorflow.so.$2 tmp/lib/libtensorflow.so
|
||||
cp bazel-bin/tensorflow/libtensorflow_framework.so.$2 tmp/lib/libtensorflow_framework.so
|
||||
cp tensorflow/c/eager/c_api.h tmp/include/tensorflow/c/eager/
|
||||
cp tensorflow/c/c_api.h tensorflow/c/c_api_experimental.h LICENSE tmp/include/tensorflow/c/
|
||||
(cd tmp && tar -czf ../libtensorflow-$1-$2.tar.gz .)
|
||||
du -h libtensorflow-$1-$2.tar.gz
|
||||
|
||||
echo "Done"
|
Loading…
Reference in a new issue