בנייה מהמקור

במסמך הזה נסביר איך לבנות רכיבי XLA.

אם לא שכפולם את מאגר ה-XLA או התקנתם את Bazel, אתם מוזמנים לבדוק את "שנתחיל?" בקטע של מסמך ה-README.

Linux

הגדרה

גרסאות build של XLA מוגדרות על ידי הקובץ .bazelrc ברמה הבסיסית (root) של המאגר ניתן להשתמש בסקריפט ./configure.py כדי לשנות הגדרות נפוצות.

אם צריך לשנות את ההגדרות האישיות, צריך להריץ את הסקריפט ./configure.py מ- בתיקיית השורש של המאגר. הסקריפט הזה כולל דגלים למיקום של XLA של יחסי התלות ואפשרויות נוספות של תצורת build (דגלי מהדר, עבור לדוגמה). פרטים נוספים זמינים בקטע סשן לדוגמה.

תמיכה ביחידות עיבוד מרכזיות (CPU)

מומלץ להשתמש בקונטיינר מתאים של Docer כדי לבנות/לבדוק XLA, כמו מאגר ה-Docker של TensorFlow:

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

באמצעות קונטיינר Docer אפשר ליצור XLA עם תמיכה במעבד (CPU) באמצעות: פקודות:

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

מומלץ להשתמש באותו קונטיינר Docer שמופיע למעלה כדי לפתח 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/...

פרטים נוספים על כדאי לעיין במסמך הזה, בתמונות של Docer ל-GPU של TensorFlow.

אפשר גם לפתח יעדי XLA עם תמיכה ב-GPU גם בלי Docker. הגדר ו ליצור יעדים באמצעות הפקודות הבאות:

./configure.py --backend=CUDA

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

פרטים נוספים על חשבונית CUDA הרמטית תוכלו לעיין במסמך הזה.