Tensorflow 正在运行的TysFraceXLA示例(LIbDealth.CopyTe35.10-BC)

Tensorflow 正在运行的TysFraceXLA示例(LIbDealth.CopyTe35.10-BC),tensorflow,Tensorflow,我正在使用从源代码编译的TensorFlow运行。运行python mnist\u softmax\u xla.py会导致以下错误: I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y I tensorflow/core/common_runtime/gpu/gpu_device.cc:975]

我正在使用从源代码编译的TensorFlow运行。运行
python mnist\u softmax\u xla.py
会导致以下错误:

I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0)
I tensorflow/core/platform/default/cuda_libdevice_path.cc:35] TEST_SRCDIR environment variable not set: using local_config_cuda/cuda under this executable's runfiles directory as the CUDA root.
I tensorflow/compiler/xla/service/platform_util.cc:58] platform CUDA present with 1 visible devices
I tensorflow/compiler/xla/service/platform_util.cc:58] platform Host present with 4 visible devices
I tensorflow/compiler/xla/service/service.cc:180] XLA service executing computations on platform Host. Devices:
I tensorflow/compiler/xla/service/service.cc:187]   StreamExecutor device (0): <undefined>, <undefined>
I tensorflow/compiler/xla/service/platform_util.cc:58] platform CUDA present with 1 visible devices
I tensorflow/compiler/xla/service/platform_util.cc:58] platform Host present with 4 visible devices
I tensorflow/compiler/xla/service/service.cc:180] XLA service executing computations on platform CUDA. Devices:
I tensorflow/compiler/xla/service/service.cc:187]   StreamExecutor device (0): Tesla K80, Compute Capability 3.7
W tensorflow/core/framework/op_kernel.cc:993] Not found: ./libdevice.compute_35.10.bc not found
Traceback (most recent call last):
  File "/mnt/software/envs/xla/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1022, in _do_call
    return fn(*args)
  File "/mnt/software/envs/xla/lib/python3.4/site-packages/tensorflow/python/client/session.py", line 1004, in _run_fn
    status, run_metadata)
  File "/usr/lib/python3.4/contextlib.py", line 66, in __exit__
    next(self.gen)
  File "/mnt/software/envs/xla/lib/python3.4/site-packages/tensorflow/python/framework/errors_impl.py", line 469, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.NotFoundError: ./libdevice.compute_35.10.bc not found
         [[Node: cluster_0/_0/_1 = _XlaLaunch[Targs=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], Tconstants=[DT_INT32], Tresults=[DT_FLOAT, DT_FLOAT], function=cluster_0[_XlaCompiledKernel=true, _XlaNumConstantArgs=1], _device="/job:localhost/replica:0/task:0/gpu:0"](Shape_2, _recv_Placeholder_0/_3, _recv_Placeholder_1_0/_1, Variable_1, Variable)]]

我的直觉是这与消息
TEST\u SRCDIR环境变量not set有关:使用此可执行文件的runfiles目录下的local\u config\u cuda/cuda作为cuda根。
,但我不确定该怎么办。

关键是这个日志消息:

I tensorflow/core/platform/default/cuda_libdevice_path.cc:35] TEST_SRCDIR environment variable not set: using local_config_cuda/cuda under this executable's runfiles directory as the CUDA root.
(我后来才在日志中注意到它;事实上,我通过在源代码中挖掘找到了该文件,然后才注意到日志中的消息。)

由于我目前不理解的原因,XLA不会在LIB设备中查看/Ur/Purrase/CuDa(或者当您运行<代码> /配置< /代码>时给出的目录)。根据cuda_libdevice_path.cc[1],它正在寻找一个专门为指向libdevice而创建的符号链接

我将循环输入编写此代码的人,以了解它应该做什么。同时,我自己也能解决这个问题,如下所示:

$ mkdir local_config_cuda
$ ln -s /usr/local/cuda local_config_cuda/cuda
$ TEST_SRCDIR=$(pwd) python my_program.py
重要的是将
TEST\u SRCDIR
设置为本地\u config\u cuda目录的父目录

很抱歉给你添麻烦,很抱歉,我现在没有一个不那么老套的答案给你


[1] 应该能够解决这个问题。谢谢你的错误报告

仔细检查您的LD_LIBRARY_CONFIG env变量,否则在我看来就像一个bug。在github回购中填写一个问题。您的意思是
LD\u LIBRARY\u PATH
?我怀疑这是问题,因为大多数CUDA共享库在/Ur/PATS/CUDA已经出现在“代码> SUDO LDCONFIG-V 2>/DEV/NULL GRIPCUDA < /代码>的输出中。嗨,我是XLA开发者在谷歌。事实上,我在自己遇到问题并在谷歌上搜索错误后发现了你的问题。:)我还不确定出了什么问题,但我怀疑LD_LIBRARY_PATH是解决方案,因为libdevice不是一个共享库。我会更新这个问题,一旦我知道了。使用你的修复,然后添加/ USR /本地/ CUA/ExtAs/CupTi /LIb64到库路径(通过LD。所以.COND),我得到了XLA示例代码运行。谢谢XLA团队能用这些步骤更新他们的教程吗?我们在上面。我不认为测试是必要的。也许有一种方法可以让我们自己也能通过LD_LIBRARY_路径。比如,您运行配置时告诉我们您的CUDA在哪里。:)
$ mkdir local_config_cuda
$ ln -s /usr/local/cuda local_config_cuda/cuda
$ TEST_SRCDIR=$(pwd) python my_program.py