Guide du développeur XLA

Ce guide vous explique comment commencer à développer le projet XLA.

Avant de commencer, assurez-vous de remplir les conditions préalables suivantes:

  1. Accédez à CONTRIBUTING.md et consultez la procédure de contribution.
  2. Si vous ne l'avez pas déjà fait, signez le Contrat de licence du contributeur.
  3. Installez ou configurez les dépendances suivantes :

Suivez ensuite les étapes ci-dessous pour obtenir le code source, configurer un environnement, compiler le dépôt et créer une demande d'extraction.

Obtenir le code

  1. Créez une copie du dépôt XLA.
  2. Clonez votre fork du dépôt en remplaçant <USER> par votre nom d'utilisateur GitHub :

    git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
    
  3. Accédez au répertoire xla : cd xla

  4. Configurez le dépôt distant en amont :

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

Configurer un environnement

  1. Installez Bazel.

    Pour compiler XLA, vous devez avoir installé Bazel. La méthode recommandée pour installer Bazel consiste à utiliser Bazelisk, qui télécharge automatiquement la version Bazel appropriée pour XLA. Si Bazelisk n'est pas disponible, vous pouvez installer Bazel manuellement.

  2. Créez et exécutez un Conteneur Docker TensorFlow :

    Pour obtenir l'image Docker TensorFlow pour la compilation du processeur et du GPU, exécutez la commande la commande suivante:

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

Build

Compilation pour le processeur :

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

Compilation pour le 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/...

Votre première compilation prendra un certain temps, car elle doit créer l'ensemble de la pile, y compris XLA, MLIR et StableHLO.

Pour en savoir plus sur la compilation de XLA, consultez la section Créer à partir de la source.

Créer une demande d'extraction

Lorsque vous êtes prêt à envoyer les modifications pour examen, créez un demande d'extraction.

Pour en savoir plus sur la philosophie d'examen du code XLA, consultez la section Procédure d'examen.