Hướng dẫn cho nhà phát triển XLA

Hướng dẫn này trình bày cách bắt đầu phát triển dự án XLA.

Trước khi bắt đầu, hãy hoàn thành các điều kiện tiên quyết sau:

  1. Truy cập vào CONTRIBUTING.md và xem lại quy trình đóng góp.
  2. Thoả thuận cấp phép cộng tác viên nếu bạn chưa làm như vậy.
  3. Cài đặt hoặc định cấu hình các phần phụ thuộc sau:

Sau đó, hãy làm theo các bước bên dưới để lấy mã nguồn, thiết lập môi trường, xây dựng kho lưu trữ và tạo yêu cầu lấy dữ liệu.

Lấy mã

  1. Tạo một nhánh phát triển của kho lưu trữ XLA.
  2. Sao chép nhánh phát triển của kho lưu trữ, thay thế <USER> bằng tên người dùng GitHub của bạn:

    git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
    
  3. Thay đổi sang thư mục xla: cd xla

  4. Định cấu hình kho lưu trữ ngược dòng từ xa:

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

Thiết lập môi trường

  1. Cài đặt Bazel.

    Để xây dựng XLA, bạn phải cài đặt Bazel. Bạn nên cài đặt Bazel bằng Bazelisk. Phương thức này sẽ tự động tải đúng phiên bản Bazel xuống cho XLA. Nếu không dùng được Bazelisk, bạn có thể cài đặt Bazel theo cách thủ công.

  2. Tạo và chạy vùng chứa TensorFlow Docker.

    Để tải hình ảnh TensorFlow Docker cho CPU, hãy chạy lệnh sau:

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

    Ngoài ra, để tải hình ảnh TensorFlow Docker cho GPU, hãy chạy lệnh sau:

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

Tạo

Bản dựng cho CPU:

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

Bản dựng cho GPU:

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

Quá trình tạo bản dựng đầu tiên sẽ mất khá nhiều thời gian vì phải xây dựng toàn bộ ngăn xếp, bao gồm cả XLA, MLIR và StableHLO.

Để tìm hiểu thêm về cách xây dựng XLA, hãy xem bài viết Tạo từ nguồn.

Tạo một yêu cầu lấy dữ liệu

Khi bạn đã sẵn sàng gửi các thay đổi đi xem xét, hãy tạo một yêu cầu kéo.

Để tìm hiểu về cách thức đánh giá mã của XLA, hãy xem bài viết Xem xét mã.