Bu kılavuzda, XLA projesini geliştirmeye nasıl başlayacağınız gösterilmektedir.
Başlamadan önce aşağıdaki ön koşulları tamamlayın:
- Katkı sayfasına gidin ve katkı sürecini inceleyin.
- Henüz yapmadıysanız Katkıda Bulunan Lisans Sözleşmesi'ni imzalayın.
- Aşağıdaki bağımlılıkları yükleyin veya yapılandırın:
Ardından, kaynak kodu almak, bir ortam oluşturmak, deposu derlemek ve bir çekme isteği oluşturmak için aşağıdaki adımları uygulayın.
Kodu alın
- XLA deposunun çatalını oluşturun.
Depo çatalınızı klonlamak için
<USER>
yerine GitHub kullanıcı adınızı yazın:git clone https://github.com/
/xla.git xla
dizinine geçin:cd xla
Uzak yayın öncesi deposunu yapılandırın:
git remote add upstream https://github.com/openxla/xla.git
Ortam oluşturma
Bazel'i yükleyin.
XLA oluşturmak için Bazel'in yüklü olması gerekir. Bazel'i yüklemenin önerilen yolu, XLA için doğru Bazel sürümünü otomatik olarak indiren Bazelisk'i kullanmaktır. Bazelisk kullanılamıyorsa Bazel'i manuel olarak yükleyebilirsiniz.
TensorFlow Docker kapsayıcısı oluşturun ve çalıştırın.
Hem CPU hem de GPU derlemesi için TensorFlow Docker görüntüsünü almak üzere aşağıdaki komutu çalıştırın:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
Derleme
CPU için derleme:
docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
GPU için derleme:
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/...
XLA, MLIR ve StableHLO dahil olmak üzere tüm yığının derlenmesi gerektiğinden ilk derlemeniz oldukça uzun sürer.
XLA oluşturma hakkında daha fazla bilgi edinmek için Kaynaktan oluşturma başlıklı makaleyi inceleyin.
Alma isteği oluşturma
Değişiklikleri incelemeye göndermeye hazır olduğunuzda bir pull isteğinde bulunun.
XLA kod inceleme felsefesi hakkında bilgi edinmek için İnceleme Süreci başlıklı makaleyi inceleyin.