ساخت از منبع

این سند نحوه ساخت اجزای XLA را شرح می دهد.

اگر مخزن XLA را کلون نکردید یا Bazel را نصب نکردید، لطفاً بخش «شروع به کار» سند README را بررسی کنید.

لینوکس

پیکربندی کنید

بیلدهای XLA توسط فایل .bazelrc در دایرکتوری ریشه مخزن پیکربندی می شوند. از اسکریپت ./configure.py می توان برای تنظیم تنظیمات رایج استفاده کرد.

اگر نیاز به تغییر پیکربندی دارید، اسکریپت ./configure.py را از دایرکتوری ریشه مخزن اجرا کنید. این اسکریپت دارای پرچم هایی برای مکان وابستگی های XLA و گزینه های پیکربندی ساخت اضافی (برای مثال پرچم های کامپایلر) است. برای جزئیات بیشتر به بخش نمونه جلسه مراجعه کنید.

پشتیبانی از CPU

توصیه می کنیم از یک داکر کانتینر مناسب برای ساخت/آزمایش XLA استفاده کنید، مانند کانتینر Docker TensorFlow :

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

با استفاده از یک داکر کانتینر می توانید XLA با پشتیبانی از CPU با استفاده از دستورات زیر بسازید:

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

اگر می خواهید اهداف XLA را با پشتیبانی از CPU بدون Docker بسازید، باید cang را نصب کنید. XLA در حال حاضر بر روی CI با clang-17 ساخته می شود، اما نسخه های قبلی نیز باید کار کنند:

apt install clang

سپس با استفاده از دستورات زیر اهداف را پیکربندی و بسازید:

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

پشتیبانی از پردازنده گرافیکی

توصیه می کنیم برای ساخت XLA با پشتیبانی از GPU از همان داکر کانتینر فوق استفاده کنید:

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

برای ساخت XLA با پشتیبانی از GPU از دستور زیر استفاده کنید:

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

اگر می‌خواهید اهداف XLA را با پشتیبانی از GPU بدون Docker بسازید، باید وابستگی‌های اضافی زیر را نصب کنید: cuda-12.3 ، cuDNN-8.9 .

سپس با استفاده از دستورات زیر اهداف را پیکربندی و بسازید:

./configure.py --backend=CUDA

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

برای جزئیات بیشتر در مورد تصاویر داکر GPU TensorFlow، می توانید این سند را بررسی کنید.