ソースからのビルド

このドキュメントでは、XLA コンポーネントを作成する方法について説明します。

XLA リポジトリのクローンを作成していない場合や、Bazel をインストールしていない場合は、README ドキュメントの「Get started」セクションをご覧ください。

Linux

構成

XLA ビルドは、リポジトリのルート ディレクトリにある .bazelrc ファイルで構成されます。./configure または ./configure.py スクリプトを使用して、一般的な設定を調整できます。

構成を変更する必要がある場合は、リポジトリのルート ディレクトリから ./configure スクリプトを実行します。このスクリプトは、XLA 依存関係の場所と追加のビルド構成オプション(コンパイラ フラグなど)の入力を求めます。詳しくは、サンプル セッションのセクションをご覧ください。

./configure

このスクリプトの Python バージョンである ./configure.py もあります。仮想環境を使用している場合、python configure.py は環境内のパスを優先し、./configure は環境外のパスを優先します。どちらの場合も、このデフォルトを変更できます。

CPU サポート

XLA のビルド/テストには、TensorFlow の Docker コンテナなどの適切な Docker コンテナを使用することをおすすめします。

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

Docker コンテナを使用して、次のコマンドで CPU サポートを含む XLA をビルドできます。

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

Docker を使用せずに CPU サポートのある XLA ターゲットをビルドする場合は、gcc-10 をインストールする必要があります。

apt install gcc-10 g++-10

次のコマンドを使用してターゲットを構成し、ビルドします。

yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=0 TF_CUDA_CLANG=0 ./configure

bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

GPU のサポート

GPU をサポートする XLA を作成するには、次のように GPU Docker コンテナを使用することをおすすめします。

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

GPU サポートを使用して XLA をビルドするには、次のコマンドを使用します。

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

Docker を使用せずに GPU をサポートする XLA ターゲットをビルドする場合は、CPU の依存関係に加えて、次の依存関係(cuda-11.2cuDNN-8.1)をインストールする必要があります。

次のコマンドを使用してターゲットを構成し、ビルドします。

yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=1 TF_CUDA_CLANG=0 ./configure

bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

TensorFlow の GPU Docker イメージの詳細については、このドキュメントをご覧ください。