In diesem Dokument wird beschrieben, wie XLA-Komponenten erstellt werden.
Wenn Sie das XLA-Repository nicht geklont oder Bazel nicht installiert haben, lesen Sie den Abschnitt „Erste Schritte“ des Readme-Dokuments.
Linux
Konfigurieren
XLA-Builds werden über die Datei .bazelrc
im Stammverzeichnis des Repositorys konfiguriert. Mit den Skripts ./configure
oder ./configure.py
können allgemeine Einstellungen angepasst werden.
Wenn Sie die Konfiguration ändern müssen, führen Sie das Skript ./configure
aus dem Stammverzeichnis des Repositorys aus. Dieses Skript fordert Sie auf, den Speicherort der XLA-Abhängigkeiten anzugeben, und fordert zusätzliche Build-Konfigurationsoptionen (z. B. Compiler-Flags) an. Weitere Informationen finden Sie im Abschnitt Beispielsitzung.
./configure
Es gibt auch eine Python-Version dieses Skripts, ./configure.py
. Wenn eine virtuelle Umgebung verwendet wird, priorisiert python configure.py
Pfade innerhalb der Umgebung, während ./configure
Pfade außerhalb der Umgebung priorisiert. In beiden Fällen können Sie die Standardeinstellung ändern.
CPU-Unterstützung
Wir empfehlen, zum Erstellen/Testen von XLA einen geeigneten Docker-Container zu verwenden, z. B. den Docker-Container von TensorFlow:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:latest-gpu bash
Mit einem Docker-Container können Sie mit den folgenden Befehlen XLA mit CPU-Unterstützung erstellen:
docker exec xla ./configure
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
Wenn Sie XLA-Ziele mit CPU-Unterstützung ohne Docker erstellen möchten, müssen Sie gcc-10 installieren:
apt install gcc-10 g++-10
Konfigurieren und erstellen Sie dann Ziele mit den folgenden Befehlen:
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-Unterstützung
Wir empfehlen die Verwendung eines GPU-Docker-Containers, um XLA mit GPU-Unterstützung zu erstellen, z. B.:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
Verwenden Sie den folgenden Befehl, um XLA mit GPU-Unterstützung zu erstellen:
docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Wenn Sie XLA-Ziele mit GPU-Unterstützung ohne Docker erstellen möchten, müssen Sie die folgenden Abhängigkeiten zusätzlich zu den CPU-Abhängigkeiten installieren: cuda-11.2
, cuDNN-8.1
.
Konfigurieren und erstellen Sie dann Ziele mit den folgenden Befehlen:
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/...
Weitere Informationen zu den GPU-Docker-Images von TensorFlow finden Sie in diesem Dokument.