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.