Z tego przewodnika dowiesz się, jak zacząć tworzyć projekt XLA.
Zanim zaczniesz, musisz spełnić te wymagania wstępne:
- Otwórz stronę CONTRIBUTING.md i sprawdź publikowane treści proces tworzenia konta.
- W razie potrzeby podpisz Umowa licencyjna dla współtwórców.
- 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
- Utwórz odgałęzienie repozytorium XLA.
Sklonuj rozwidlone 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 upstream:
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 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ć usługę Bazel ręcznie.
Utwórz i uruchom Kontener Dockera TensorFlow.
Aby pobrać obraz Dockera TensorFlow do kompilowania 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 na potrzeby procesora:
docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Kompilacja dla 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/...
Pierwsza kompilacja zajmie sporo czasu, ponieważ musi ona w tym XLA, MLIR i StableHLO.
Więcej informacji o tworzeniu XLA znajdziesz w artykule Tworzenie na podstawie ź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 weryfikacji kodu XLA znajdziesz na stronie Sprawdzanie procesu.