XLA デベロッパー ガイド

このガイドでは、XLA プロジェクトの開発を始める方法について説明します。

始める前に、次の前提条件を満たす必要があります。

  1. CONTRIBUTING.md にアクセスして、寄付のプロセスを確認します。
  2. まだ署名していない場合は、コントリビューター ライセンス契約に署名してください。
  3. 次の依存関係をインストールまたは構成します。

次に、以下の手順に沿ってソースコードの取得、環境の設定、リポジトリの構築、pull リクエストの作成を行います。

コードを取得する

  1. XLA リポジトリの fork を作成します。
  2. リポジトリの fork のクローンを作成します。<USER> は GitHub ユーザー名で置き換えます。

    git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
    
  3. xla ディレクトリに移動します。cd xla

  4. リモートのアップストリーム リポジトリを構成します。

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

環境をセットアップする

  1. Bazel をインストールします。

    XLA をビルドするには、Bazel がインストールされている必要があります。Bazel のインストールには、Bazelisk を使用することをおすすめします。これにより、XLA 用の適切な Bazel バージョンが自動的にダウンロードされます。Bazelisk を使用できない場合は、手動で Bazel をインストールできます。

  2. TensorFlow Docker コンテナを作成して実行する。

    CPU 用の TensorFlow Docker イメージを取得するには、次のコマンドを実行します。

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

    GPU 用の TensorFlow Docker イメージを取得するには、次のコマンドを実行します。

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

ビルド

CPU 向けにビルドする:

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

GPU 向けのビルド:

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

最初のビルドでは、XLA、MLIR、StableHLO などのスタック全体をビルドする必要があるため、かなりの時間がかかります。

XLA のビルドの詳細については、ソースからのビルドをご覧ください。

pull リクエストを作成する

審査のために変更を送信する準備ができたら、pull リクエストを作成します。

XLA コードレビューの原理については、コードレビューをご覧ください。