Membangun dari sumber

Dokumen ini menjelaskan cara mem-build komponen XLA.

Jika Anda tidak meng-clone repositori XLA atau menginstal Bazel, lihat bagian awal Panduan Developer XLA.

Linux

Konfigurasi

Build XLA dikonfigurasi oleh file .bazelrc di direktori root repositori. Skrip ./configure.py dapat digunakan untuk menyesuaikan setelan umum.

Jika Anda perlu mengubah konfigurasi, jalankan skrip ./configure.py dari direktori root repositori. Skrip ini memiliki flag untuk lokasi dependensi XLA dan opsi konfigurasi build tambahan (misalnya, flag compiler). Lihat bagian Contoh sesi untuk mengetahui detailnya.

Dukungan CPU

Sebaiknya gunakan container docker yang sesuai untuk membangun/menguji XLA, seperti container docker TensorFlow:

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

Dengan menggunakan container Docker, Anda dapat mem-build XLA dengan dukungan CPU menggunakan perintah berikut:

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

Jika ingin membangun target XLA dengan dukungan CPU tanpa Docker, Anda perlu menginstal clang. XLA saat ini di-build di CI dengan clang-17, tetapi versi sebelumnya juga akan berfungsi:

apt install clang

Kemudian, konfigurasikan dan build target menggunakan perintah berikut:

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

Dukungan GPU

Sebaiknya gunakan penampung docker yang sama seperti di atas untuk mem-build XLA dengan dukungan GPU:

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

Untuk mem-build XLA dengan dukungan GPU, gunakan perintah berikut:

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

Untuk mengetahui detail selengkapnya tentang image docker GPU TensorFlow, Anda dapat melihat dokumen ini.

Anda juga dapat mem-build target XLA dengan dukungan GPU tanpa Docker. Konfigurasikan dan bangun target menggunakan perintah berikut:

./configure.py --backend=CUDA

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

Untuk mengetahui detail selengkapnya tentang CUDA hermetis, Anda dapat melihat dokumen ini.