במסמך הזה נסביר איך ליצור רכיבי XLA.
אם לא שכפולם את מאגר ה-XLA או התקנתם את Bazel, כדאי לעיין בקטעים הראשוניים במדריך למפתחים של XLA.
Linux
הגדרה
קובצי ה-build של XLA מוגדרים באמצעות הקובץ .bazelrc
בתיקיית השורש של המאגר. אפשר להשתמש בסקריפט ./configure.py
כדי לשנות הגדרות נפוצות.
אם צריך לשנות את ההגדרות, מריצים את הסקריפט ./configure.py
מהספרייה ברמה הבסיסית (root) של המאגר. הסקריפט הזה מכיל דגלים למיקום יחסי התלות של XLA ואפשרויות נוספות להגדרת ה-build (לדוגמה, דגלים של מהדר). פרטים נוספים זמינים בקטע סשן לדוגמה.
תמיכה ביחידות עיבוד מרכזיות (CPU)
מומלץ להשתמש בקונטיינר מתאים של Docer כדי לבנות/לבדוק XLA, כמו קונטיינר Docer של TensorFlow:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
אפשר ליצור XLA עם תמיכה ב-CPU באמצעות קונטיינר של Docker באמצעות הפקודות הבאות:
docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build //xla/... --spawn_strategy=sandboxed --test_output=all
אם רוצים ליצור יעדי XLA עם תמיכה ב-CPU בלי Docker, צריך להתקין את clang. בשלב זה, XLA נוצר ב-CI באמצעות clang-17, אבל גם גרסאות קודמות אמורות לפעול:
apt install clang
לאחר מכן מגדירים ויוצרים יעדים באמצעות הפקודות הבאות:
./configure.py --backend=CPU
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
תמיכה ב-GPU
מומלץ להשתמש באותו קונטיינר של Docker שצוין למעלה כדי ליצור 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/...
במאמר הזה מפורט מידע נוסף על קובצי האימג' של TensorFlow ל-GPU ב-Docker.
אפשר גם לפתח יעדי XLA עם תמיכה ב-GPU גם בלי Docker. מגדירים מטרות ומפתחים אותן באמצעות הפקודות הבאות:
./configure.py --backend=CUDA
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
למידע נוסף על CUDA אטום, אפשר לעיין במסמך הזה.