W tym dokumencie opisano sposób tworzenia komponentów XLA.
Jeśli repozytorium XLA nie zostało skopiowane ani zainstalowane, zapoznaj się z sekcją „Rozpocznij” w dokumencie README.
Linux
Skonfiguruj
Kompilacje XLA są konfigurowane w pliku .bazelrc
w katalogu głównym repozytorium. Skrypty ./configure
lub ./configure.py
mogą służyć do dostosowywania typowych ustawień.
Jeśli musisz zmienić konfigurację, uruchom skrypt ./configure
z katalogu głównego repozytorium. Ten skrypt zapyta Cię o lokalizację zależności XLA i poprosi o dodatkowe opcje konfiguracji kompilacji (np. flagi kompilatora). Więcej informacji znajdziesz w sekcji Przykładowa sesja.
./configure
Istnieje również wersja tego skryptu w Pythonie: ./configure.py
. Jeśli używasz środowiska wirtualnego, python configure.py
nadaje wyższy priorytet ścieżkom w obrębie środowiska, a ./configure
nadaje wyższy priorytet ścieżkom spoza tego środowiska. W obu przypadkach możesz zmienić wartość domyślną.
Obsługa procesora
Do kompilowania lub testowania XLA zalecamy użycie odpowiedniego kontenera Dockera, takiego jak kontener Dockera w TensorFlow:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:latest-gpu bash
Za pomocą kontenera Dockera możesz tworzyć XLA z obsługą procesora za pomocą tych poleceń:
docker exec xla ./configure
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ć gcc-10:
apt install gcc-10 g++-10
Następnie skonfiguruj i utwórz cele za pomocą tych poleceń:
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=0 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Obsługa GPU
Do tworzenia XLA z obsługą GPU zalecamy użycie kontenera Dockera GPU, takiego jak:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
Aby utworzyć XLA z obsługą GPU, użyj tego polecenia:
docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Jeśli chcesz tworzyć cele XLA z obsługą GPU bez Dockera, musisz zainstalować te zależności (cuda-11.2
, cuDNN-8.1
).
Następnie skonfiguruj i utwórz cele za pomocą tych poleceń:
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=1 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Więcej informacji o obrazach Dockera procesorów graficznych TensorFlow znajdziesz w tym dokumencie.