Criar a partir da fonte

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.