Z tego przewodnika dowiesz się, jak rozpocząć tworzenie projektu XLA.
Zanim zaczniesz, spełnij te wymagania wstępne:
- Otwórz stronę CONTRIBUTING.md i sprawdź proces darowizny.
- Jeśli jeszcze jej nie masz, podpisz Umowę licencyjną dla współtwórców.
- Zainstaluj lub skonfiguruj te zależności:
Następnie wykonaj opisane poniżej czynności, aby pobrać kod źródłowy, skonfigurować środowisko, skompilować repozytorium i utworzyć żądanie pull.
Pobierz kod
- Utwórz rozwidlenie repozytorium XLA.
Skopiuj rozwidlenie repozytorium, zastępując
<USER>
swoją nazwą użytkownika GitHuba:git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
Przejdź do katalogu
xla
:cd xla
Skonfiguruj zdalne repozytorium nadrzędne:
git remote add upstream <a href="https://github.com/openxla/xla.git">https://github.com/openxla/xla.git</a>
Konfigurowanie środowiska
Zainstaluj aplikację Bazel.
Aby utworzyć XLA, musisz mieć zainstalowaną aplikację Bazel. Zalecanym sposobem zainstalowania aplikacji Bazel jest użycie programu Bazelisk, który automatycznie pobiera prawidłową wersję Bazela na XLA. Jeśli usługa Bazelisk jest niedostępna, możesz zainstalować ją ręcznie.
Utwórz i uruchom kontener Dockera w TensorFlow.
Aby pobrać obraz Dockera TensorFlow dla CPU, uruchom to polecenie:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
Aby pobrać obraz Dockera TensorFlow dla GPU, możesz też uruchomić to polecenie:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
Kompilacja
Kompilacja dla procesora:
docker exec xla ./configure
docker exec xla bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Kompilacja dla GPU:
docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Pierwsza kompilacja trochę potrwa, ponieważ musi skompilować cały stos, w tym XLA, MLIR i StableHLO.
Więcej informacji na temat tworzenia XLA znajdziesz w artykule Tworzenie na podstawie źródła.
Tworzenie żądania pull
Gdy zmiany będą gotowe do sprawdzenia, utwórz żądanie pobierania.
Więcej informacji o zasadach weryfikacji kodu XLA znajdziesz w artykule Weryfikacja kodu.