Сборка из исходников

В этом документе описывается, как создавать компоненты XLA.

Если вы не клонировали репозиторий XLA и не устанавливали Bazel, ознакомьтесь с разделом «Начало работы» документа README.

Линукс

Настроить

Сборки XLA настраиваются с помощью файла .bazelrc в корневом каталоге репозитория. Сценарий ./configure.py можно использовать для настройки общих настроек.

Если вам нужно изменить конфигурацию, запустите сценарий ./configure.py из корневого каталога репозитория. Этот скрипт имеет флаги для расположения зависимостей XLA и дополнительные параметры конфигурации сборки (например, флаги компилятора). Подробности см. в разделе «Пример сеанса» .

Поддержка ЦП

Мы рекомендуем использовать подходящий докер-контейнер для сборки/тестирования XLA, например докер-контейнер TensorFlow :

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

Используя Docker-контейнер, вы можете собрать XLA с поддержкой ЦП, используя следующие команды:

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

Если вы хотите создавать цели XLA с поддержкой ЦП без Docker, вам необходимо установить clang. XLA в настоящее время основан на CI с clang-17, но более ранние версии также должны работать:

apt install clang

Затем настройте и создайте цели, используя следующие команды:

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

Поддержка графического процессора

Мы рекомендуем использовать тот же Docker-контейнер, что и выше, для сборки XLA с поддержкой графического процессора:

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

Чтобы собрать XLA с поддержкой графического процессора, используйте следующую команду:

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

Если вы хотите создавать цели XLA с поддержкой графического процессора без Docker, вам необходимо установить следующие дополнительные зависимости: cuda-12.3 , cuDNN-8.9 .

Затем настройте и создайте цели, используя следующие команды:

./configure.py --backend=CUDA

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

Для получения более подробной информации об образах докера TensorFlow для графического процессора вы можете ознакомиться с этим документом.