Bu dokümanda, XLA bileşenlerinin nasıl oluşturulacağı açıklanmaktadır.
XLA deposunu klonlamadıysanız veya Bazel'ı yüklemediyseniz lütfen README belgesinin "Başlayın" bölümüne göz atın.
Linux
Yapılandır
XLA derlemeleri, deponun kök dizinindeki .bazelrc
dosyası tarafından yapılandırılır. ./configure
veya ./configure.py
komut dosyaları, ortak ayarları düzenlemek için kullanılabilir.
Yapılandırmayı değiştirmeniz gerekirse ./configure
komut dosyasını deponun kök dizininden çalıştırın. Bu komut dosyası, XLA bağımlılıklarının konumunu ister ve ek derleme yapılandırma seçenekleri (ör. derleyici işaretleri) ister. Ayrıntılar için Örnek oturum bölümüne bakın.
./configure
Bu komut dosyasının bir python sürümü de var: ./configure.py
. Sanal bir ortam kullanılıyorsa python configure.py
ortam içindeki yollara öncelik verirken ./configure
, ortam dışındaki yollara öncelik verir. Her iki durumda da varsayılan değeri değiştirebilirsiniz.
CPU desteği
XLA'yı derlemek/test etmek için TensorFlow'un docker container'ı gibi uygun bir docker container kullanmanızı öneririz:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:latest-gpu bash
Bir docker container'ında, aşağıdaki komutları kullanarak CPU destekli XLA derleyebilirsiniz:
docker exec xla ./configure
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
Docker olmadan CPU desteğiyle XLA hedefleri oluşturmak istiyorsanız gcc-10 yüklemeniz gerekir:
apt install gcc-10 g++-10
Daha sonra, aşağıdaki komutları kullanarak hedefleri yapılandırın ve oluşturun:
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=0 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
GPU desteği
Aşağıdaki gibi GPU destekli XLA derlemek için bir GPU docker kapsayıcısı kullanmanızı öneririz:
docker run --name xla_gpu -w /xla -it -d --rm -v $PWD:/xla tensorflow/tensorflow:devel-gpu bash
GPU desteğiyle XLA oluşturmak için aşağıdaki komutu kullanın:
docker exec -e TF_NEED_CUDA=1 xla_gpu ./configure
docker exec xla_gpu bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
Docker olmadan GPU desteğiyle XLA hedefleri oluşturmak istiyorsanız CPU bağımlılıklarına ek olarak şu bağımlılıkları da yüklemeniz gerekir: cuda-11.2
, cuDNN-8.1
.
Daha sonra, aşağıdaki komutları kullanarak hedefleri yapılandırın ve oluşturun:
yes '' | GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 CC=/usr/bin/gcc-10 TF_NEED_ROCM=0 TF_NEED_CUDA=1 TF_CUDA_CLANG=0 ./configure
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
TensorFlow'un GPU docker görüntüleriyle ilgili daha fazla bilgi için bu belgeye göz atabilirsiniz.