Bu kılavuzda, XLA projesini geliştirmeye nasıl başlayabileceğiniz gösterilmektedir.
Başlamadan önce aşağıdaki ön koşulları tamamlayın:
- CONTRIBUTING.md dosyasına gidip 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 kodunu almak, ortam ayarlamak, derlemek oluşturup pull isteği oluşturabilirsiniz.
Kodu alın
- XLA deposu için bir çatal oluşturun.
Depo çatalınızı klonlamak için
<USER>
yerine GitHub kullanıcı adınızı yazın:git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
xla
dizinine geçin:cd xla
Uzaktan yayın öncesi deposunu yapılandırın:
git remote add upstream <a href="https://github.com/openxla/xla.git">https://github.com/openxla/xla.git</a>
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şturup çalıştırın.
Hem CPU hem de GPU derlemesi için TensorFlow Docker görüntüsünü almak üzere şu komutu kullanı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/...
İlk derlemeniz oldukça uzun sürer çünkü tüm yığınlarını (XLA, MLIR ve StableHLO dahil) içerir.
XLA oluşturma hakkında daha fazla bilgi edinmek için Kaynaktan derleme konusuna bakın.
Push isteği oluşturma
Değişiklikleri incelemeye göndermeye hazır olduğunuzda bir pull request oluşturun.
XLA kod inceleme felsefesi hakkında bilgi edinmek için İnceleme Süreci.