Ten dokument zawiera informacje o tworzeniu komponentów XLA.
Jeśli nie skopiowałeś repozytorium XLA ani nie zainstalowałeś Bazel, zapoznaj się z pierwszymi sekcjami przewodnika dla programistów XLA.
Linux
Skonfiguruj
Kompilacje XLA są konfigurowane przez plik .bazelrc
w katalogu głównym repozytorium. Do dostosowywania typowych ustawień możesz użyć skryptu ./configure.py
.
Jeśli musisz zmienić konfigurację, uruchom skrypt ./configure.py
z katalogu głównego repozytorium. Ten skrypt zawiera flagi dla lokalizacji zależności XLA i dodatkowych opcji konfiguracji kompilacji (np. flagi kompilatora). Więcej informacji znajdziesz w sekcji Przykładowa sesja.
Obsługa procesora
Zalecamy użycie odpowiedniego kontenera Dockera do kompilowania i testowania XLA, na przykład kontenera 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 skompilować XLA z obsługą procesora za pomocą tych poleceń:
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 zainstalować clang. Obecnie XLA kompiluje się w ramach CI za pomocą clang-17, ale powinny działać też starsze wersje:
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
Zalecamy użycie tego samego kontenera Dockera, aby skompilować XLA z obsługą GPU:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
Aby skompilować 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 o obrazach Dockera dla GPU w TensorFlow znajdziesz w tym dokumencie.
Możesz też tworzyć cele XLA z obsługą GPU bez Dockera. Skonfiguruj i skompiluj cele za pomocą tych poleceń:
./configure.py --backend=CUDA
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Więcej informacji o hermetycznej architekturze CUDA znajdziesz w tym dokumencie.