如何让TensorFlow XLA知道CUDA路径

sil*_*amb 6 tensorflow

我通过命令安装了 TensorFlow nightly build 版本 pip install tf-nightly-gpu --prefix=/tf/install/path

当我尝试运行任何 XLA 示例时,TensorFlow 出现错误“无法找到 libdevice dir。使用‘.’” 无法将 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/"
Run Code Online (Sandbox Code Playgroud)

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

小智 8

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

  • `/path/to/cuda` 应该是什么? (2认同)

Har*_*Yoo 1

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