במדריך הזה נסביר איך מתחילים לפתח את פרויקט XLA.
לפני שמתחילים, צריך להשלים את התנאים המוקדמים הבאים:
- עוברים אל דף התכנים שהוספתם ובודקים את תהליך ההוספה.
- אם עדיין לא עשיתם זאת, עליכם לחתום על הסכם הרישיון ל-תורמים.
- מתקינים או מגדירים את יחסי התלות הבאים:
לאחר מכן מבצעים את השלבים הבאים כדי לקבל את קוד המקור, להגדיר סביבה, לבנות את המאגר וליצור בקשת משיכה.
קבל את הקוד
- יוצרים פורק (fork) של מאגר XLA.
משכפלים את המאגר המורחב ומחליפים את
<USER>
בשם המשתמש שלכם ב-GitHub:git clone https://github.com/
/xla.git עוברים לספרייה
xla
:cd xla
מגדירים את המאגר המרוחק ב-upstream:
git remote add upstream https://github.com/openxla/xla.git
הגדרת סביבה
מתקינים את Bazel.
כדי ליצור XLA, צריך להתקין את Bazel. הדרך המומלצת להתקנה היא באמצעות Bazelisk, שמוריד באופן אוטומטי את גרסת Bazel הנכונה ל-XL. אם Bazelisk לא זמין, אפשר להתקין את Bazel באופן ידני.
יצירת קונטיינר של TensorFlow ב-Docker והפעלה שלו.
כדי לקבל את קובץ האימג' של TensorFlow ב-Docker ל-CPU ול-GPU, מריצים את הפקודה הבאה:
docker run --name xla -w /xla -it -d --rm -v $PWD:/xla tensorflow/build:latest-python3.9 bash
פיתוח פתרונות
פיתוח ל-CPU:
docker exec xla ./configure.py --backend=CPU
docker exec xla bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
פיתוח ל-GPU:
docker exec xla ./configure.py --backend=CUDA
docker exec xla bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
./configure.py --backend=CUDA
bazel build --test_output=all --spawn_strategy=sandboxed //xla/...
ה-build הראשון יימשך לא מעט זמן כי הוא צריך לבנות את כל המקבץ, כולל XLA, MLIR ו-StableHLO.
מידע נוסף על פיתוח XLA זמין במאמר פיתוח מקוד מקור.
יצירת בקשת משיכה
כשמוכנים לשלוח את השינויים לבדיקה, יוצרים בקשת משיכה.
במאמר תהליך הבדיקה מוסבר על הפילוסופיה של בדיקת הקוד ב-XLA.