本文件說明如何建構 XLA 元件。
如果您並未複製 XLA 存放區或安裝 Bazel,請查看 README 文件的「開始使用」部分。
Linux
設定
XLA 建構是由存放區根目錄中的 .bazelrc
檔案設定。./configure
或 ./configure.py
指令碼可用來調整常用設定。
如要變更設定,請從存放區的根目錄執行 ./configure
指令碼。這個指令碼會提示您輸入 XLA 依附元件的位置,並要求其他建構設定選項 (例如編譯器旗標)。詳情請參閱「工作階段範例」一節。
./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/...
如要在不使用 Docker 的情況下建構支援 GPU 的 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/...
如要進一步瞭解 TensorFlow 的 GPU Docker 映像檔,請參閱這份文件。