このドキュメントでは、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.2
、cuDNN-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 イメージの詳細については、このドキュメントをご覧ください。