このガイドでは、XLA プロジェクトの開発を始める方法について説明します。
始める前に、次の前提条件を満たす必要があります。
- CONTRIBUTING.md にアクセスして、寄付のプロセスを確認します。
- まだ署名していない場合は、コントリビューター ライセンス契約に署名してください。
- 次の依存関係をインストールまたは構成します。
次に、以下の手順に沿ってソースコードの取得、環境の設定、リポジトリの構築、pull リクエストの作成を行います。
コードを取得する
- XLA リポジトリの fork を作成します。
リポジトリの fork のクローンを作成します。
<USER>
は GitHub ユーザー名で置き換えます。git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
xla
ディレクトリに移動します。cd xla
リモートのアップストリーム リポジトリを構成します。
git remote add upstream <a href="https://github.com/openxla/xla.git">https://github.com/openxla/xla.git</a>
環境をセットアップする
Bazel をインストールします。
XLA をビルドするには、Bazel がインストールされている必要があります。Bazel のインストールには、Bazelisk を使用することをおすすめします。これにより、XLA 用の適切な Bazel バージョンが自動的にダウンロードされます。Bazelisk を使用できない場合は、手動で Bazel をインストールできます。
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 コードレビューの原理については、コードレビューをご覧ください。