XLA-Entwicklerleitfaden

In diesem Leitfaden erfahren Sie, wie Sie mit der Entwicklung des XLA-Projekts beginnen.

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

  1. Rufen Sie die Seite "Beitragen" auf und überprüfen Sie den Vorgang für Beiträge.
  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 Ihre Verzweigung des Repositorys und ersetzen Sie dabei <USER> durch Ihren GitHub-Nutzernamen:

        
            git clone https://github.com//xla.git
        
    

  3. Wechseln Sie in das Verzeichnis xla: cd xla

  4. Konfigurieren Sie das Remote-Upstream-Repository:

        
            git remote add upstream https://github.com/openxla/xla.git
        
    

Umgebung einrichten

  1. Installieren Sie Bazel.

    Zum Erstellen von XLA 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 und ausführen Sie einen TensorFlow-Docker-Container.

    Führen Sie den folgenden Befehl aus, um das TensorFlow-Docker-Image sowohl für die CPU- als auch die GPU-Ausführung abzurufen:

    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/...

Build für GPU:

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 der Quelle erstellen.

Pull-Anfrage erstellen

Wenn Sie die Änderungen zur Überprüfung senden möchten, erstellen Sie einen Pull-Request.

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