Neste documento, descrevemos como criar componentes do XLA.
Se você não clonou o repositório XLA nem instalou o Bazel, confira as seções iniciais do Guia para desenvolvedores do XLA.
Linux
Configurar
Os builds XLA são configurados pelo arquivo .bazelrc
no diretório raiz do
repositório. O script ./configure.py
pode ser usado para ajustar configurações comuns.
Se você precisar mudar a configuração, execute o script ./configure.py
no
diretório raiz do repositório. Esse script tem sinalizações para o local das dependências do XLA e outras opções de configuração de compilação (sinalizações do compilador, por exemplo). Consulte a seção Sessão de exemplo para mais detalhes.
Suporte a CPU
Recomendamos usar um contêiner do Docker adequado para criar/testar o XLA, como o contêiner do Docker do TensorFlow:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
Com um contêiner do Docker, é possível criar o XLA com suporte à CPU usando os seguintes comandos:
docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
Se você quiser criar destinos XLA com suporte de CPU sem o Docker, instale o clang. Atualmente, o XLA se baseia na CI com o clang-17, mas as versões anteriores também funcionam:
apt install clang
Em seguida, configure e crie destinos usando os seguintes comandos:
./configure.py --backend=CPU
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Suporte a GPUs
Recomendamos usar o mesmo contêiner do Docker acima para criar XLA com suporte a GPUs:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
Para criar o XLA com suporte a GPU, use o seguinte comando:
docker exec xla_gpu ./configure.py --backend=CUDA
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Para mais detalhes sobre as imagens do Docker para GPU do TensorFlow, consulte este documento.
Você também pode criar destinos XLA com suporte a GPU sem o Docker. Configure e crie destinos usando os seguintes comandos:
./configure.py --backend=CUDA
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Para mais detalhes sobre CUDA hermética, consulte este documento.