Panduan developer XLA

Panduan ini menunjukkan cara memulai pengembangan proyek XLA.

Sebelum Anda memulai, selesaikan prasyarat berikut:

  1. Buka CONTRIBUTING.md dan tinjau proses kontribusi.
  2. Jika Anda belum melakukannya, tanda tangani Perjanjian Lisensi Kontributor.
  3. Instal atau konfigurasi dependensi berikut:

Kemudian, ikuti langkah-langkah di bawah ini untuk mendapatkan kode sumber, menyiapkan lingkungan, membangun repositori, dan membuat permintaan pull.

Mendapatkan kode

  1. Buat fork repositori XLA.
  2. Clone fork repo Anda, dengan mengganti <USER> dengan nama pengguna GitHub Anda:

    git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
    
  3. Ubah ke direktori xla: cd xla

  4. Konfigurasi repo upstream jarak jauh:

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

Menyiapkan lingkungan

  1. Instal Bazel.

    Untuk membuat XLA, Anda harus menginstal Bazel. Cara yang direkomendasikan untuk menginstal Bazel adalah menggunakan Bazelisk, yang otomatis mendownload versi Bazel yang benar untuk XLA. Jika Bazelisk tidak tersedia, Anda dapat menginstal Bazel secara manual.

  2. Membuat dan menjalankan container Docker TensorFlow.

    Untuk mendapatkan image Docker TensorFlow bagi build CPU dan GPU, jalankan perintah berikut:

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

Membangun

Build untuk CPU:

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

Build untuk GPU:

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

Build pertama Anda akan memerlukan waktu cukup lama karena harus mem-build seluruh stack, termasuk XLA, MLIR, dan StableHLO.

Untuk mempelajari cara membuat XLA lebih lanjut, lihat Mem-build dari sumber.

Membuat permintaan pull

Jika Anda sudah siap mengirimkan perubahan untuk ditinjau, buat permintaan pull.

Untuk mempelajari filosofi peninjauan kode XLA, lihat Peninjauan kode.