本文档介绍了如何构建 XLA 组件。
如果您没有克隆 XLA 代码库或安装 Bazel,请查看 README 文档的“使用入门”部分。
Linux
配置
XLA build 由代码库根目录中的 .bazelrc
文件配置。./configure
或 ./configure.py
脚本可用于调整常用设置。
如果需要更改配置,请从代码库的根目录运行 ./configure
脚本。此脚本将提示您输入 XLA 依赖项的位置,并要求提供其他 build 配置选项(例如,编译器标志)。如需了解详情,请参阅示例会话部分。
./configure
这个脚本也有 Python 版本 ./configure.py
。如果使用的是虚拟环境,python configure.py
会优先处理环境中的路径,而 ./configure
会优先考虑环境外的路径。在这两种情况下,您都可以更改默认值。
CPU 支持
我们建议使用合适的 Docker 容器来构建/测试 XLA,例如 TensorFlow 的 Docker 容器:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:latest-gpu bash
借助 Docker 容器,您可以使用以下命令构建支持 CPU 的 XLA:
docker exec xla ./configure
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
如果您想在没有 Docker 的情况下构建支持 CPU 的 XLA 目标,则需要安装 gcc-10:
apt install gcc-10 g++-10
然后使用以下命令配置和构建目标:
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=0 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
GPU 支持
我们建议使用 GPU Docker 容器构建支持 GPU 的 XLA,例如:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
如需构建支持 GPU 的 XLA,请使用以下命令:
docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
如果您想构建支持 GPU 且不使用 Docker 的 XLA 目标,则需要安装除 CPU 依赖项之外的以下依赖项:cuda-11.2
、cuDNN-8.1
。
然后使用以下命令配置和构建目标:
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=1 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...