این سند نحوه ساخت اجزای XLA را شرح می دهد.
اگر مخزن XLA را شبیه سازی نکرده اید یا Bazel را نصب نکرده اید، بخش های اولیه راهنمای برنامه نویس XLA را بررسی کنید.
لینوکس
پیکربندی کنید
بیلدهای 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/...
برای جزئیات بیشتر در مورد تصاویر داکر GPU TensorFlow، می توانید این سند را بررسی کنید.
شما می توانید اهداف XLA را با پشتیبانی از GPU بدون Docker نیز بسازید. با استفاده از دستورات زیر اهداف را پیکربندی و بسازید:
./configure.py --backend=CUDA
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
برای جزئیات بیشتر در مورد CUDA هرمتیک می توانید این سند را بررسی کنید.