XLA-Entwicklerleitfaden

Dieses Handbuch enthält die ersten Schritte für die Entwicklung des XLA-Projekts.

Bevor du beginnst, müssen die folgenden Voraussetzungen erfüllt sein:

  1. Rufen Sie CONTRIBUTING.md auf und überprüfen Sie den Beitrag. .
  2. Unterschreiben Sie die Contributor License Agreement, falls noch nicht geschehen.
  3. Installieren oder konfigurieren Sie die folgenden Abhängigkeiten:

Führen Sie dann die folgenden Schritte aus, um den Quellcode abzurufen, eine Umgebung einzurichten, das Repository zu erstellen und einen Pull-Request zu erstellen.

Code abrufen

  1. Erstellen Sie einen Fork des XLA-Repositorys.
  2. Klonen Sie die Verzweigung des Repositorys und ersetzen Sie dabei <USER> durch Ihren GitHub-Nutzernamen:

    git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
    
  3. Wechseln Sie in das Verzeichnis xla: cd xla

  4. Konfigurieren Sie das Remote-Upstream-Repository:

    git remote add upstream <a href="https://github.com/openxla/xla.git">https://github.com/openxla/xla.git</a>
    

Umgebung einrichten

  1. Installieren Sie Bazel.

    Um XLA zu erstellen, muss Bazel installiert sein. Wir empfehlen, Bazel mit Bazelisk zu installieren. Dabei wird automatisch die richtige Bazel-Version für XLA heruntergeladen. Wenn Bazelisk nicht verfügbar ist, können Sie Bazel manuell installieren.

  2. Erstellen Sie ein TensorFlow Docker-Container

    Führen Sie den folgenden Befehl aus, um das TensorFlow-Docker-Image für die CPU- und GPU-Erstellung abzurufen: folgenden Befehl:

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

Build

Für CPU erstellen:

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

Für GPU erstellen:

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

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

Der erste Build dauert ziemlich lange, da der gesamte Stack erstellt werden muss, einschließlich XLA, MLIR und StableHLO.

Weitere Informationen zum Erstellen von XLA finden Sie unter Aus Quelle erstellen.

Pull-Anfrage erstellen

Wenn Sie bereit sind, die Änderungen zur Überprüfung zu senden, erstellen Sie ein Pull-Anfrage.

Weitere Informationen zur Philosophie der XLA-Codeüberprüfung finden Sie unter Überprüfungsprozess.