Criar a partir da fonte

Este documento descreve como criar componentes XLA.

Se você não clonou o repositório XLA nem instalou o Bazel, confira a "Comece já" do documento README.

Linux

Configurar

Os builds XLA são configurados pelo arquivo .bazelrc na raiz do repositório diretó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 no diretório raiz do repositório. Esse script tem flags para o local do XLA. e outras opções de configuração de build (flags de compilador, para exemplo). Consulte a seção Sessão de amostra para mais detalhes.

Suporte à CPU

Recomendamos o uso de um contêiner do Docker adequado para criar/testar XLA, como 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 XLA com suporte à CPU usando o seguinte: comandos:

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

Se quiser criar destinos XLA com suporte à CPU sem o Docker, você precisará instalar clang. O XLA atualmente se baseia na CI com clang-17, mas em versões anteriores também deve funcionar:

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 GPU suporte:

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

Para criar XLA com suporte a GPUs, 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 Confira as imagens Docker da GPU do TensorFlow.

Também é possível criar destinos XLA com suporte a GPUs sem o Docker. Configurar e criar destinos usando os seguintes comandos:

./configure.py --backend=CUDA

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

Para mais detalhes sobre CUDA hermético, confira este documento.