XLA 开发者指南

本指南介绍如何着手开发 XLA 项目。

在开始之前,请先满足以下前提条件:

  1. 转到 CONTRIBUTING.md,查看贡献流程。
  2. 签署贡献者许可协议(如果您尚未签署)。
  3. 安装或配置以下依赖项:

然后,按照以下步骤获取源代码、设置环境、构建代码库,并创建拉取请求。

获取代码

  1. 创建 XLA 代码库的分支。
  2. 克隆代码库的分支,将 <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。建议使用 Bazelisk 安装 Bazel,后者会自动下载适用于 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
    

Build

针对 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,请参阅从源代码构建

创建拉取请求

准备好将更改送审时,请创建拉取请求

如需了解 XLA 代码审核理念,请参阅代码审核