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, mem-build 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. Konfigurasikan 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. Buat dan jalankan container Docker TensorFlow.

    Untuk mendapatkan image Docker TensorFlow untuk CPU, jalankan perintah berikut:

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

    Atau, untuk mendapatkan image Docker TensorFlow untuk GPU, jalankan perintah berikut:

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

Build

Build untuk CPU:

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

Build untuk GPU:

docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu 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 mem-build XLA lebih lanjut, lihat Mem-build dari sumber.

Membuat permintaan pull

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

Untuk mempelajari filosofi peninjauan kode XLA, lihat Peninjauan kode.