Guide du développeur XLA

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

Avant de commencer, vérifiez que vous remplissez les conditions préalables suivantes:

  1. Accédez à la page Contribuer 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, créer 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 la copie du dépôt en remplaçant <USER> par votre nom d'utilisateur GitHub:

        
            git clone https://github.com//xla.git
        
    

  3. Accédez au répertoire xla: cd xla.

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

        
            git remote add upstream https://github.com/openxla/xla.git
        
    

Configurer un environnement

  1. Installez Bazel.

    Pour compiler XLA, Bazel doit être installé. 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 CPU et du GPU, exécutez la commande suivante:

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

Build

Compiler 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 compiler 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 des modifications pour examen, créez une demande de tirage.

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