如何让TensorFlow XLA知道CUDA路径

时间:2019-01-14 21:12:34

标签: tensorflow

我通过以下命令安装了TensorFlow每晚构建版本 pip install tf-nightly-gpu --prefix=/tf/install/path

当我尝试运行任何XLA示例时,TensorFlow出现错误“无法找到libdevice目录。使用'。'。无法将ptx编译为cubin。将尝试让GPU驱动程序编译ptx。未找到:/usr/local/cuda-10.0/bin/ptxas未找到”。

因此,显然TensorFlow找不到我的CUDA路径。在我的系统中,CUDA安装在/cm/shared/apps/cuda/toolkit/10.0.130中。由于我不是从源代码构建TensorFlow,因此默认情况下,XLA搜索文件夹/ user / local / cuda- *。但是由于我没有此文件夹,它将发出错误。

当前,我的解决方法是创建一个符号链接。我在tensorflow / compiler / xla / service / gpu / nvptx_compiler.cc中检查了TensorFlow源代码。在文件“ //用户通过--xla_gpu_cuda_data_dir明确指定的CUDA位置具有最高优先级”中有注释。那么如何将值传递给该标志?我尝试了以下两个环境变量,但是它们都不起作用:

export XLA_FLAGS="--xla_gpu_cuda_data_dir=/cm/shared/apps/cuda10.0/toolkit/10.0.130/"
export TF_XLA_FLAGS="--xla_gpu_cuda_data_dir=/cm/shared/apps/cuda10.0/toolkit/10.0.130/"

那么如何使用标志“ --xla_gpu_cuda_data_dir”?谢谢。

2 个答案:

答案 0 :(得分:0)

此问题有代码更改,但不清楚如何使用。在这里https://github.com/tensorflow/tensorflow/issues/23783

答案 1 :(得分:0)

您可以在终端中运行export XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda