Compila a partir del código fuente

En este documento, se describe cómo compilar componentes de XLA.

Si no clonaste el repositorio de XLA ni instalaste Bazel, consulta las secciones iniciales de la Guía para desarrolladores de XLA.

Linux

Configurar

Las compilaciones de XLA se configuran con el archivo .bazelrc en el directorio raíz del repositorio. La secuencia de comandos ./configure.py se puede usar para ajustar parámetros de configuración comunes.

Si necesitas cambiar la configuración, ejecuta la secuencia de comandos ./configure.py desde el directorio raíz del repositorio. Esta secuencia de comandos tiene marcas para la ubicación de las dependencias de XLA y opciones de configuración de compilación adicionales (por ejemplo, marcas del compilador). Consulta la sección Sesión de muestra para obtener más información.

Compatibilidad con CPU

Te recomendamos usar un contenedor de Docker adecuado para compilar o probar XLA, como el contenedor de Docker de TensorFlow:

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

Con un contenedor de Docker, puedes compilar XLA con compatibilidad con CPU con los siguientes comandos:

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

Si deseas compilar destinos de XLA con compatibilidad con CPU sin Docker, debes instalar clang. Actualmente, XLA se compila en CI con clang-17, pero las versiones anteriores también deberían funcionar:

apt install clang

Luego, configura y compila los destinos con los siguientes comandos:

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

Asistencia de GPU

Te recomendamos que uses el mismo contenedor de Docker que se indicó anteriormente para compilar XLA con compatibilidad con GPU:

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

Para compilar XLA con compatibilidad con GPU, usa el siguiente comando:

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

Para obtener más detalles sobre las imágenes de Docker de GPU de TensorFlow, consulta este documento.

También puedes compilar destinos de XLA con compatibilidad con GPU sin Docker. Configura y compila objetivos con los siguientes comandos:

./configure.py --backend=CUDA

bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

Para obtener más detalles sobre CUDA hermética, puedes consultar este documento.