如何让TensorFlow XLA知道CUDA路径



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

当我尝试运行任何XLA示例时,TensorFlow出现错误"无法找到libdevice目录。使用'.'无法将ptx编译为cubin。将尝试让GPU驱动程序编译ptx。找不到:/usr/local/cuda-1.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源代码。文件中有一条注释"//CUDA位置由用户通过--xla_gpu_CUDA_data_dir显式指定,优先级最高。"那么如何将值传递给该标志呢?我尝试了以下两个环境变量,但它们都不起作用:

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"呢?谢谢

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

此问题的代码发生了更改,但不清楚如何使用。请在此处查看https://github.com/tensorflow/tensorflow/issues/23783

这对我有效。

tensorflow                2.11.0          gpu_py310hf8ff8df_0  
ii  nvidia-dkms-525                 525.105.17-0ubuntu0.22.04.1             amd64        NVIDIA DKMS package
ii  nvidia-driver-525               525.105.17-0ubuntu0.22.04.1             amd64        NVIDIA driver metapackage
nvidia-cuda-toolkit not installed

nVidia T4@GCE Ubu 22.04LTS最小

conda install -c nvidia cuda-nvcc
ln -s /path/to/conda-env/lib/libdevice.10.bc .

我无法让XLA_FLAGS工作

2023-04-21 09:17:00.947644: F tensorflow/compiler/xla/parse_flags_from_env.cc:226] Unknown flags in XLA_FLAGS: -–xla_gpu_cuda_data_dir=/home/rac/fulltf2/fullcuda.env/lib 
Perhaps you meant to specify these on the TF_XLA_FLAGS envvar?
Aborted (core dumped)

最新更新