Just Tried to build TF with icc and it keeps failing. the following is the command used for building:
CC=icc bazel build --verbose_failures --config=mkl --copt=-msse4.2 --copt="-DEIGEN_USE_VML" -c opt //tensorflow/tools/pip_package:build_pip_package
The following was the error output:
INFO: From Compiling tensorflow/contrib/memory_stats/ops/memory_stats_ops.cc [for host]: icc: command line warning #10006: ignoring unknown option '-frandom-seed=bazel-out/host/bin/tensorflow/contrib/memory_stats/_objs/memory_stats_ops_op_lib/tensorflow/contrib/memory_stats/ops/memory_stats_ops.o' icc: command line warning #10006: ignoring unknown option '-Wno-builtin-macro-redefined' Warning #2011: predefined meaning of "__DATE__" discarded Warning #2011: predefined meaning of "__TIMESTAMP__" discarded Warning #2011: predefined meaning of "__TIME__" discarded tensorflow/contrib/memory_stats/ops/memory_stats_ops.cc(29): warning #2196: routine is both "inline" and "noinline" tensorflow/contrib/memory_stats/ops/memory_stats_ops.cc(29): warning #2196: routine is both "inline" and "noinline" ERROR: /home/bert/tensorflow/tensorflow/contrib/image/BUILD:20:1: C++ compilation of rule '//tensorflow/contrib/image:python/ops/_image_ops.so' failed: icc failed: error executing command (cd /root/.cache/bazel/_bazel_root/de2d5e30e11a47d70dad7109465f3a0a/execroot/org_tensorflow && \ exec env - \ PWD=/proc/self/cwd \ PYTHON_BIN_PATH=/opt/intel/intelpython3/bin/python \ PYTHON_LIB_PATH=/opt/intel/intelpython3/lib/python3.5/site-packages \ TF_NEED_CUDA=0 \ TF_NEED_OPENCL=0 \ /opt/intel/compilers_and_libraries_2017.4.196/linux/bin/intel64/icc -U_FORTIFY_SOURCE -fstack-protector -Wall -B/opt/intel/compilers_and_libraries_2017.4.196/linux/bin/intel64 -B/usr/bin -Wunused-but-set-parameter -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections -msse4.2 -DEIGEN_USE_VML '-std=c++0x' -MD -MF bazel-out/local-py3-opt/bin/tensorflow/contrib/image/_objs/python/ops/_image_ops.so/tensorflow/contrib/image/kernels/bipartite_match_op.pic.d '-frandom-seed=bazel-out/local-py3-opt/bin/tensorflow/contrib/image/_objs/python/ops/_image_ops.so/tensorflow/contrib/image/kernels/bipartite_match_op.pic.o' -fPIC -DEIGEN_MPL2_ONLY -iquote . -iquote bazel-out/local-py3-opt/genfiles -iquote external/protobuf -iquote bazel-out/local-py3-opt/genfiles/external/protobuf -iquote external/bazel_tools -iquote bazel-out/local-py3-opt/genfiles/external/bazel_tools -iquote external/eigen_archive -iquote bazel-out/local-py3-opt/genfiles/external/eigen_archive -iquote external/local_config_sycl -iquote bazel-out/local-py3-opt/genfiles/external/local_config_sycl -isystem external/protobuf/src -isystem bazel-out/local-py3-opt/genfiles/external/protobuf/src -isystem external/bazel_tools/tools/cpp/gcc3 -isystem third_party/eigen3/mkl_include -isystem bazel-out/local-py3-opt/genfiles/third_party/eigen3/mkl_include -isystem external/eigen_archive -isystem bazel-out/local-py3-opt/genfiles/external/eigen_archive -DEIGEN_AVOID_STL_ARRAY -Iexternal/gemmlowp -Wno-sign-compare -fno-exceptions '-DINTEL_MKL=1' -fopenmp -msse3 -pthread -Wno-builtin-macro-redefined '-D__DATE__="redacted"''-D__TIMESTAMP__="redacted"''-D__TIME__="redacted"' -c tensorflow/contrib/image/kernels/bipartite_match_op.cc -o bazel-out/local-py3-opt/bin/tensorflow/contrib/image/_objs/python/ops/_image_ops.so/tensorflow/contrib/image/kernels/bipartite_match_op.pic.o): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 2. icc: command line warning #10006: ignoring unknown option '-frandom-seed=bazel-out/local-py3-opt/bin/tensorflow/contrib/image/_objs/python/ops/_image_ops.so/tensorflow/contrib/image/kernels/bipartite_match_op.pic.o' icc: command line warning #10120: overriding '-msse4.2' with '-msse3' icc: command line warning #10006: ignoring unknown option '-Wno-builtin-macro-redefined' Warning #2011: predefined meaning of "__DATE__" discarded Warning #2011: predefined meaning of "__TIMESTAMP__" discarded Warning #2011: predefined meaning of "__TIME__" discarded In file included from tensorflow/contrib/image/kernels/bipartite_match_op.cc(17): ./tensorflow/core/framework/op_kernel.h(317): warning #858: type qualifier on return type is meaningless const int graph_def_version() const { return graph_def_version_; } ^ tensorflow/contrib/image/kernels/bipartite_match_op.cc(88): error: type name is not allowed typename TTypes<float, 2>::ConstTensor distance_mat = ^ tensorflow/contrib/image/kernels/bipartite_match_op.cc(88): error: expected a ";" typename TTypes<float, 2>::ConstTensor distance_mat = ^ tensorflow/contrib/image/kernels/bipartite_match_op.cc(98): error: identifier "distance_mat" is undefined DistancePair(index1, index2, distance_mat(index1, index2))); ^ tensorflow/contrib/image/kernels/bipartite_match_op.cc(134): warning #2196: routine is both "inline" and "noinline" tensorflow/contrib/image/kernels/bipartite_match_op.cc(134): warning #2196: routine is both "inline" and "noinline" tensorflow/contrib/image/kernels/bipartite_match_op.cc(134): warning #2196: routine is both "inline" and "noinline" tensorflow/contrib/image/kernels/bipartite_match_op.cc(134): warning #2196: routine is both "inline" and "noinline" tensorflow/contrib/image/kernels/bipartite_match_op.cc(134): warning #2196: routine is both "inline" and "noinline" tensorflow/contrib/image/kernels/bipartite_match_op.cc(134): warning #2196: routine is both "inline" and "noinline" tensorflow/contrib/image/kernels/bipartite_match_op.cc(134): warning #2196: routine is both "inline" and "noinline" compilation aborted for tensorflow/contrib/image/kernels/bipartite_match_op.cc (code 2) Target //tensorflow/tools/pip_package:build_pip_package failed to build INFO: Elapsed time: 93.648s, Critical Path: 18.66s
The issue seems to be with a contrib, is it possible to exclude certain contribs from the compilation? The Python used is intel python 3.5 As bit of background, the system is Ubuntu 16 running on dual x5550, the aim was to get better performance since plain TF on a PC (i7-4700mq) works much faster.