Este documento descreve como criar componentes do XLA.
Se você não clonou o repositório do XLA ou instalou o Bazel, consulte a seção "Primeiros passos" do documento README.
Linux
Configurar
As versões do XLA são configuradas pelo arquivo .bazelrc
no diretório raiz do
repositório. Os scripts ./configure
ou ./configure.py
podem ser usados para ajustar configurações comuns.
Se você precisar alterar a configuração, execute o script ./configure
no diretório raiz do repositório. Esse script solicitará a localização das dependências do XLA
e solicitará outras opções de configuração de build (sinalizações
do compilador, por exemplo). Consulte a seção Sessão de exemplo para mais detalhes.
./configure
Há também uma versão Python desse script, ./configure.py
. Se estiver usando um
ambiente virtual, python configure.py
prioriza caminhos no
ambiente, enquanto ./configure
prioriza caminhos fora dele. Em ambos os casos, é possível alterar o padrão.
Suporte para CPU
Recomendamos o uso de 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/tensorflow:latest-gpu bash
Usando um contêiner do Docker, é possível criar XLA com suporte para CPU usando os seguintes comandos:
docker exec xla ./configure
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
Se você quiser criar destinos XLA com suporte para CPU sem Docker, instale gcc-10:
apt install gcc-10 g++-10
Em seguida, configure e crie destinos usando os seguintes comandos:
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=0 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Suporte a GPUs
Recomendamos o uso de um contêiner do Docker de GPU para criar o XLA com suporte a GPUs, como:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
Para criar XLA com suporte a GPU, use o seguinte comando:
docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Se você quiser criar destinos XLA com suporte a GPUs sem o Docker, será necessário instalar as seguintes dependências adicionais para dependências da CPU: cuda-11.2
, cuDNN-8.1
.
Em seguida, configure e crie destinos usando os seguintes comandos:
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=1 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Para mais detalhes sobre imagens Docker de GPU do TensorFlow, consulte este documento.