tensorflow: Cannot find libdevice.10.bc under /usr/local/cuda-8.0
System information
- Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04 LTS (GNU/Linux 4.4.38-rt49-tegra aarch64)
- TensorFlow installed from (source or binary): source
- TensorFlow version (use command below): 1.7.0-rc0, r1.7, master
- Python version: 2.7.12
- Bazel version (if compiling from source): 0.11.1
- GCC/Compiler version (if compiling from source): 5.4.0-6ubuntu1~16.04.9
- CUDA/cuDNN version: 8.0/6
- GPU model and memory: name: GP106 major: 6 minor: 1 totalMemory: 3.75GiB (as reported by some previous version of Tensorflow on the other part of the same Drive PX2)
- Exact command to reproduce:
git checkout v1.7.0-rc0
./configure
bazel build //tensorflow:libtensorflow_cc.so
Describe the problem
Same problem for all branches listed under TensorFlow version.
Build fails immediately with
Cuda Configuration Error: Cannot find libdevice.10.bc under /usr/local/cuda-8.0
It’s strange because I explicitly answered 8.0 versions and libdevice.10.bc exists only in 9.0 AFAIK.
Source code / logs
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 12
- Comments: 32 (9 by maintainers)
In my case, I solved, just change the file name(libdevice.compute_50.10.bc—>libdevice.10.bc) in /usr/local/cuda&cuda-8.0/nvvm/libdevice. I use gtx 1070.
Please note the install documentation says CUDA 9 is required. If you have CUDA 8, please try upgrading CUDA, or downgrading TF.
@jart In “install from source” documentation (https://www.tensorflow.org/install/install_sources) stated Cuda >= 7.0. You speak about precomiled versions, we speak about build from source.
I insist that this is a bug that requires from user manual fixing code or renaming library. It is not ok.
My solution was:
Sounds like good documentation was created here on how to workaround this peculiar problem. Thanks everyone in the community for supporting.
Same problem here and I believe this is a bug. Either state CUDA>=9.0 requirement in docs or fix this issue.
I met the same problem, finally, i solved it. we make a file /usr/local/cuda&cuda-8.0/nvvm/libdevice ( libdevice.compute_50.10.bc) to (libdevice.10.bc). It solved the problem. tip:if you want change name easily, you should use this code:sudo nautilus
A change equivalent to https://github.com/pwnall/tensorflow/commit/6a15fb400af3dd013284e9f6150256797e742afe has been committed to the internal repository. This issue should be fixed soon.
@dominikzietlow Thanks! your solution worked perfectly. 😄
@reedwm Sorry, I haven’t tested on CUDA 8.0.
I can try to find some time to look at this late next week. Sorry for the high lag, I am currently adjusting to an expanded role at work.
@pjox That is not the file I meant, I was referring to the file
third_party/gpus/cuda_configure.bzl
in line 722 see herethis solved it for me and i built in on a cluster yesterday. you might have to install bazel in your home directory in case the cluster installation lacks a recent version of it.
@pjox try to find the line where it searches for libdevice.10:
grep 'libdevice.10' */*/*
and replace this occurrence with the according name of the file that is present on your system (e.g. libdevice.compute_50.10.bc). then run the building process.I tested it for myself, worked.
@jart That’s not “peculiar problem”. Current configurator will not work on any device with Cuda 8.0 and Tensorflow 1.7, as I understand. Had the same problem on PC with Ubuntu 16.04.4 x64, GTX 1060.