Kompilacja ze źródła

W tym dokumencie opisano tworzenie komponentów XLA.

Jeśli nie sklonowałeś(-aś) repozytorium XLA ani nie zainstalowałeś(-aś) usługi Bazel, zapoznaj się z „Rozpocznij” dokumentu README.

Linux

Skonfiguruj

Kompilacje XLA są konfigurowane przez plik .bazelrc w katalogu głównym repozytorium katalogu. Za pomocą skryptu ./configure.py można dostosowywać typowe ustawienia.

Jeśli musisz zmienić konfigurację, uruchom skrypt ./configure.py z w katalogu głównym repozytorium. Ten skrypt ma flagi lokalizacji XLA zależności i dodatkowych opcji konfiguracji kompilacji (flagi kompilatora, ). Szczegółowe informacje znajdziesz w sekcji Przykładowa sesja.

Obsługa procesora

Do kompilacji/testowania XLA zalecamy użycie odpowiedniego kontenera Dockera, takiego jak Kontener Dockera TensorFlow:

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

Za pomocą kontenera Dockera możesz utworzyć XLA z obsługą procesora przy użyciu polecenia:

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

Jeśli chcesz utworzyć cele XLA z obsługą procesora bez Dockera, musisz: Zainstaluj clang. XLA obecnie opiera się na CI z użyciem clang-17, ale we wcześniejszych wersjach też powinna działać:

apt install clang

Następnie skonfiguruj i utwórz cele, używając tych poleceń:

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

Obsługa GPU

Do utworzenia XLA z GPU zalecamy użycie tego samego kontenera Dockera co powyżej. pomoc:

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

Aby utworzyć XLA z obsługą GPU, użyj tego polecenia:

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

Więcej informacji na temat: Obrazy Dockera GPU TensorFlow, które możesz zobaczyć w tym dokumencie

Możesz także tworzyć cele XLA z obsługą GPU bez Dockera. Skonfiguruj i utwórz cele, używając tych poleceń:

./configure.py --backend=CUDA

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

Więcej informacji na temat: hermetycznej CUDA znajdziesz w tym dokumencie.