Przewodnik dla programistów XLA

Z tego przewodnika dowiesz się, jak zacząć tworzyć projekt XLA.

Zanim zaczniesz, spełnij te wymagania wstępne:

  1. Otwórz stronę Udział w programie i zapoznaj się z procesem przesyłania treści.
  2. Jeśli jeszcze tego nie zrobiono, należy podpisać Umowę licencyjną dla współtwórców.
  3. Zainstaluj lub skonfiguruj te zależności:

Następnie wykonaj podane niżej czynności, aby pobrać kod źródłowy, skonfigurować środowisko, skompilować repozytorium i utworzyć żądanie pull.

Pobierz kod

  1. Utwórz odgałęzienie repozytorium XLA.
  2. Sklonuj rozwidlone repozytorium, zastępując <USER> swoją nazwą użytkownika GitHuba:

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

  3. Przejdź do katalogu xla: cd xla

  4. Skonfiguruj zdalne repozytorium upstream:

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

Konfigurowanie środowiska

  1. Zainstaluj Bazel.

    Aby skompilować XLA, musisz mieć zainstalowany Bazel. Zalecaną metodą instalacji Bazel jest użycie Bazeliska, który automatycznie pobiera odpowiednią wersję Bazel dla XLA. Jeśli Bazelisk jest niedostępny, możesz zainstalować tę usługę ręcznie.

  2. Utwórz i uruchom kontener Dockera TensorFlow.

    Aby uzyskać obraz Dockera TensorFlow do kompilacji na procesorze CPU i GPU, uruchom to polecenie:

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

Kompilacja

Kompilacja dla CPU:

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

Kompilowanie na potrzeby 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/...

Pierwsze kompilowanie potrwa dość długo, ponieważ musi skompilować cały pakiet, w tym XLA, MLIR i StableHLO.

Więcej informacji o tworzeniu XLA znajdziesz w artykule Tworzenie z źródła.

Tworzenie żądania pull

Gdy wszystko będzie gotowe, prześlij zmiany do sprawdzenia, tworząc prośbę o przechwycenie.

Więcej informacji o filozofii sprawdzania kodu XLA znajdziesz w sekcji Proces sprawdzania.