6

TensorFlowの「ソースからのインストール」の指示に従ってbazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer、Bazel を使用して TensorFlow を構築しています。

次のエラーが表示されます。

    ERROR: /home/ubuntu/tensorflow/tensorflow/stream_executor/BUILD:5:1: C++ compilation of rule '//tensorflow/stream_executor:stream_e
xecutor' failed: crosstool_wrapper_driver_is_not_gcc failed: error executing command third_party/gpus/crosstool/clang/bin/crosstool
_wrapper_driver_is_not_gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -fPIE -Wall -Wunused-but-set-parameter -Wno-fr
ee-nonheap-object ... (remaining 87 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exite
d with status 1.   

tensorflow/stream_executor/cuda/cuda_dnn.cc: In function 'cudnnConvolutionFwdAlgo_t perftools::gputools::cuda::{anonymous}::ToConvF
orwardAlgo(perftools::gputools::dnn::AlgorithmType)':                                                                              
tensorflow/stream_executor/cuda/cuda_dnn.cc:269:10: error: 'CUDNN_CONVOLUTION_FWD_ALGO_FFT' was not declared in this scope         
     case CUDNN_CONVOLUTION_FWD_ALGO_FFT:  

...

スタック: Ubuntu 14.04.2 を実行する EC2 g2.8xlarge マシン。Bazel バージョン 0.1.5 (一緒にインストールbazel-0.1.5-jdk7-installer-linux-x86_64.sh)。

Bazel 0.1.4 と 0.2.3 を試しましたが、同じエラーが発生します。

4

1 に答える 1

3

Ubuntu 16.04 でテンソルフローを構築する際に同じ問題が発生しました。

まず、gcc バージョン <= 4.8 を使用していることを確認してください

私の場合、次のようにしてインストールする必要がありました。

gcc の場合

sudo apt-get install gcc-4.8
sudo update-alternatives --remove-all gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 10

g++ の場合

sudo apt-get install g++-4.8
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 10

適切なバージョンの gcc と g++ を入手したら、CROSSTOOL ファイルを次のように編集する必要がありました。

gedit tensorflow_sources_folder/third_party/gpus/crosstool/CROSSTOOL

この特定の行をすべて検索します。

tool_path { name: "gcc" path: "clang/bin/crosstool_wrapper_driver_is_not_gcc" }

そして、そのすぐ上に次の行を挿入します。

cxx_flag: "-D_FORCE_INLINES"

したがって、結果は次のようになります。

cxx_flag: "-D_FORCE_INLINES"
tool_path { name: "gcc" path: "clang/bin/crosstool_wrapper_driver_is_not_gcc" }
于 2016-06-02T23:13:05.987 に答える