Guía para desarrolladores de XLA

En esta guía, se muestra cómo comenzar a desarrollar el proyecto de XLA.

Antes de comenzar, completa los siguientes requisitos previos:

  1. Ve a CONTRIBUTING.md y revisa el proceso de contribución.
  2. Si aún no lo hiciste, firma el Contrato de Licencia para Colaboradores.
  3. Instala o configura las siguientes dependencias:

Luego, sigue los pasos a continuación para obtener el código fuente, configurar un entorno, compilar el repositorio y crear una solicitud de extracción.

Cómo obtener el código

  1. Crea una bifurcación del repositorio de XLA.
  2. Clona la bifurcación del repositorio y reemplaza <USER> por tu nombre de usuario de GitHub:

    git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
    
  3. Cambia al directorio xla: cd xla

  4. Configura el repositorio upstream remoto:

    git remote add upstream <a href="https://github.com/openxla/xla.git">https://github.com/openxla/xla.git</a>
    

Configura un entorno

  1. Instala Bazel.

    Para compilar XLA, debes tener instalado Bazel. La forma recomendada de instalar Bazel es usar Bazelisk, que descarga automáticamente la versión correcta de Bazel para XLA. Si Bazelisk no está disponible, puedes instalar Bazel de forma manual.

  2. Crea y ejecuta un contenedor de Docker de TensorFlow.

    A fin de obtener la imagen de Docker de TensorFlow para CPU, ejecuta el siguiente comando:

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

    Como alternativa, a fin de obtener la imagen de Docker de TensorFlow para GPU, ejecuta el siguiente comando:

    docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
    

Compila

Compilación para CPU:

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

Compilación para GPU:

docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

Tu primera compilación tardará bastante tiempo porque debe compilar toda la pila, incluidos XLA, MLIR y StableHLO.

Si deseas obtener más información para compilar XLA, consulta Cómo compilar desde el código fuente.

Crea una solicitud de extracción

Cuando estés listo para enviar los cambios a revisión, crea una solicitud de extracción.

Para obtener más información sobre la filosofía de revisión de código de XLA, consulta Revisiones de código.