Guía para desarrolladores de XLA

En esta guía, se muestra cómo comenzar a desarrollar el proyecto 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 has hecho, firma el Contrato de Licencia para Colaboradores.
  3. Instala o configura las siguientes dependencias:

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

Obtén 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 usa 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.

    Para obtener la imagen de Docker de TensorFlow para la compilación de CPU y GPU, ejecuta el siguiente comando:

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

Compilación

Compilación para CPU:

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

Compilación 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/...

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

Para obtener más información sobre la compilación de XLA, consulta Cómo compilar desde la fuente.

Crea una solicitud de extracción

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

Para obtener información sobre la filosofía de revisión de código de XLA, consulta Proceso de revisión.