從原始碼開始建構

本文件說明如何建構 XLA 元件。

如果您並未複製 XLA 存放區或安裝 Bazel,請查看 XLA 開發人員指南的初始部分。

Linux

設定

XLA 版本是由存放區根目錄中的 .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 目前以 clang-17 的 CI 建構,但先前的版本應該也能正常運作:

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,請參閱這份文件