从源代码构建

本文档介绍了如何构建 XLA 组件。

如果您未克隆 XLA 代码库或安装 Bazel,请查看 XLA 开发者指南的初始部分。

Linux

配置

XLA build 由代码库根目录中的 .bazelrc 文件进行配置。./configure.py 脚本可用于调整常用设置。

如果您需要更改配置,请从代码库的根目录运行 ./configure.py 脚本。此脚本包含 XLA 依赖项的位置标志和其他构建配置选项(例如编译器标志)。如需了解详情,请参阅示例会话部分。

CPU 支持

我们建议使用合适的 Docker 容器来构建/测试 XLA,例如 TensorFlow 的 Docker 容器

docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash

您可以使用 Docker 容器,通过以下命令构建支持 CPU 的 XLA:

docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build //xla/...  --spawn_strategy=sandboxed --test_output=all

如果您想在不使用 Docker 的情况下构建支持 CPU 的 XLA 目标,则需要安装 clang。XLA 目前在 CI 上使用 clang-17 进行构建,但较低版本也应该可以:

apt install clang

然后,使用以下命令配置和构建目标:

./configure.py --backend=CPU
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

GPU 支持

我们建议您使用与上文相同的 Docker 容器来构建支持 GPU 的 XLA:

docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash

如需构建支持 GPU 的 XLA,请使用以下命令:

docker exec xla_gpu ./configure.py --backend=CUDA
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

如需详细了解 TensorFlow 的 GPU Docker 映像,请参阅此文档

您也可以在没有 Docker 的情况下构建支持 GPU 的 XLA 目标。使用以下命令配置和构建目标:

./configure.py --backend=CUDA

bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

如需详细了解封闭 CUDA,请参阅本文档