Este guia mostra como começar a desenvolver o projeto XLA.
Antes de começar, atenda aos seguintes pré-requisitos:
- Acesse a página de contribuições e revise o processo de contribuição.
- Assine o Contrato de licença de colaborador, se ainda não tiver feito isso.
- Instale ou configure as seguintes dependências:
Em seguida, siga as etapas abaixo para acessar o código-fonte, configurar um ambiente, criar o repositório e criar uma solicitação de pull.
Acessar o código
- Crie um fork do repositório XLA.
Clone a bifurcação do repositório, substituindo
<USER>
pelo seu nome de usuário do GitHub:git clone https://github.com/
/xla.git Mude para o diretório
xla
:cd xla
Configure o repositório upstream remoto:
git remote add upstream https://github.com/openxla/xla.git
Configurar um ambiente
Instale o Bazel.
Para criar o XLA, você precisa ter o Bazel instalado. A maneira recomendada de instalar o Bazel é usando o Bazelisk, que faz o download automático da versão correta do Bazel para XLA. Se o Bazelisk não estiver disponível, você poderá instalar o Bazel manualmente.
Crie e execute um contêiner do Docker do TensorFlow.
Para acessar a imagem do Docker do TensorFlow para criação de CPU e GPU, execute o comando abaixo:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
Criar
Criação para CPU:
docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Criação para GPU:
docker exec xla ./configure.py --backend=CUDA
docker exec xla bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
./configure.py --backend=CUDA
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
O primeiro build vai demorar um pouco porque precisa criar toda a pilha, incluindo XLA, MLIR e StableHLO.
Para saber mais sobre como criar XLA, consulte Criar a partir da origem.
Criar uma solicitação de envio
Quando estiver tudo pronto para enviar as mudanças para revisão, crie uma pull request.
Para saber mais sobre a filosofia de revisão de código da XLA, consulte Processo de revisão.