Guide du développeur XLA

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

Avant de commencer, remplissez les conditions préalables suivantes:

  1. Accédez à CONTRIBUTING.md et examinez le processus 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 <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 en amont distant:

    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 l'installer manuellement.

  2. Créez et exécutez un conteneur Docker TensorFlow.

    Pour obtenir l'image Docker TensorFlow pour le processeur, exécutez la commande suivante:

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

    Pour obtenir l'image Docker TensorFlow pour le GPU, exécutez la commande suivante:

    docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
    

Créer

Compiler pour le processeur:

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

Compiler pour GPU:

docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

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

Pour en savoir plus sur la création de XLA, consultez la page Compiler à partir de la source.

Créer une demande d'extraction

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

Pour en savoir plus sur la philosophie de la revue de code XLA, consultez la page Revues de code.