Ce document explique comment créer des composants XLA.
Si vous n'avez pas cloné le dépôt XLA ni installé Bazel, consultez les sections initiales du guide du développeur XLA.
Linux
Configurer
Les builds XLA sont configurés par le fichier .bazelrc
dans le répertoire racine du dépôt. Le script ./configure.py
permet d'ajuster les paramètres courants.
Si vous devez modifier la configuration, exécutez le script ./configure.py
à partir du répertoire racine du dépôt. Ce script contient des indicateurs pour l'emplacement des dépendances XLA et des options de configuration de compilation supplémentaires (indicateurs de compilation, par exemple). Pour en savoir plus, consultez la section Exemple de session.
Compatibilité avec les processeurs
Nous vous recommandons d'utiliser un conteneur Docker approprié pour créer/tester XLA, tel que le conteneur Docker de TensorFlow:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
À l'aide d'un conteneur Docker, vous pouvez créer XLA avec la prise en charge du processeur à l'aide des commandes suivantes:
docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
Si vous souhaitez créer des cibles XLA compatibles avec le processeur sans Docker, vous devez installer clang. XLA s'appuie actuellement sur la CI avec clang-17, mais les versions antérieures devraient également fonctionner:
apt install clang
Configurez et créez ensuite des cibles à l'aide des commandes suivantes:
./configure.py --backend=CPU
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Compatibilité avec les GPU
Nous vous recommandons d'utiliser le même conteneur Docker que ci-dessus pour créer XLA compatible GPU:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
Pour compiler XLA compatible avec les GPU, utilisez la commande suivante:
docker exec xla_gpu ./configure.py --backend=CUDA
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Pour en savoir plus sur les images Docker GPU de TensorFlow, vous pouvez consulter ce document.
Vous pouvez également créer des cibles XLA compatibles avec les GPU sans Docker. Configurez et créez des cibles à l'aide des commandes suivantes:
./configure.py --backend=CUDA
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Pour en savoir plus sur le CUDA hermétique, consultez ce document.