【发布时间】:2018-02-03 06:05:14
【问题描述】:
我正在使用 bazel 从源代码构建 tensorflow,如下所述:
https://www.tensorflow.org/install/install_sources
按照安装文档,我成功编译如下:
bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mfpmath=both \
--cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"--config=cuda \
-k //tensorflow/tools/pip_package:build_pip_package
接受的答案here 和安装文档中的注释“将--cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" 添加到 gcc 5 及更高版本的构建命令”的组合。
但是,import tensorflow as tf 会导致错误
illegal instruction (core dumped), exiting python.
我也试过了:conda update libgcc 没用。
如何使用 gcc 5.0 从源代码构建 tensorflow?
【问题讨论】:
-
可能是一个愚蠢的问题,但请确定:您的 CPU 支持您指定的所有构建标志,对吧?
-
我没有仔细检查这些标志 - 但认为如果它们不受支持,它将无法编译。
-
不,它会很好地编译并为不同的处理器生成二进制文件。在您的 bash
gcc -march=native -Q --help=target | grep enabled中运行并仔细检查您指定的所有标志实际上是否在列表中(尤其是 -mavx2 和 -mfma) -
糟糕,我忘记了 -mfpmath 没有显示为启用或禁用。查看 gcc 命令的完整输出,了解您可以指定的可能值(尽管
both应该没问题) -
@GPhilo 看起来我应该更仔细地检查一下!
标签: python gcc tensorflow