Panduan developer XLA

Panduan ini menunjukkan kepada Anda cara memulai pengembangan proyek XLA.

Sebelum memulai, selesaikan prasyarat berikut:

  1. Buka CONTRIBUTING.md dan tinjau kontribusi {i>checkout<i}.
  2. Jika Anda belum melakukannya, tanda tangani Perjanjian Lisensi Kontributor.
  3. Instal atau konfigurasi dependensi berikut:

Kemudian, ikuti langkah-langkah di bawah 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 membangun XLA, Anda harus menginstal Bazel. Cara yang direkomendasikan untuk menginstal Bazel menggunakan Bazelisk, yang secara otomatis mengunduh 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 untuk 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
    

Build

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/...
./configure.py --backend=CUDA

bazel build --test_output=all --spawn_strategy=sandboxed //xla/...

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

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

Membuat permintaan pull

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

Untuk mempelajari filosofi peninjauan kode XLA, lihat Proses Peninjauan.