בנייה מהמקור

במסמך הזה נסביר איך ליצור רכיבי 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 אטום, אפשר לעיין במסמך הזה.