במדריך הזה נסביר איך מתחילים לפתח את פרויקט XLA.
לפני שמתחילים, צריך להשלים את התנאים המוקדמים הבאים:
- עוברים אל CONTRIBUTING.md ומעיינים בתהליך ההוספה של תוכן.
- אם עדיין לא עשית זאת, עליך לחתום על הסכם רישיון לתורמים.
- מתקינים או מגדירים את יחסי התלות הבאים:
לאחר מכן מבצעים את השלבים הבאים כדי לקבל את קוד המקור, להגדיר סביבה, את המאגר, ויוצרים בקשת משיכה.
קבל את הקוד
- יוצרים מזלג של מאגר XLA.
משכפלים את המזלג של המאגר ומחליפים את
<USER>
בשם המשתמש שלכם ב-GitHub:git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
החלפה לספרייה
xla
:cd xla
מגדירים את המאגר המרוחק ב-upstream:
git remote add upstream <a href="https://github.com/openxla/xla.git">https://github.com/openxla/xla.git</a>
הגדרת סביבה
מתקינים את Bazel.
כדי לבנות XLA, צריך להתקין את Bazel. הדרך המומלצת להתקנה Bazel משתמשת ב-Bazelisk, שמוריד באופן אוטומטי את גרסת Bazel הנכונה של XLA. אם בזליסק לא זמינה, אפשר להתקין את Bazel במצב ה-GRU
יצירה והפעלה של קונטיינר Docker של TensorFlow.
כדי לקבל את קובץ האימג' של 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/...
build ל-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 זמין במאמר פיתוח מקוד מקור.
יצירה של בקשת משיכה
כשרוצים לשלוח את השינויים לבדיקה, צריך ליצור pull request.
מידע נוסף על פילוסופיית הביקורת של קוד XLA תהליך הבדיקה.