מדריך למפתחים בנושא XLA

במדריך הזה נסביר איך מתחילים לפתח את פרויקט XLA.

לפני שמתחילים, צריך להשלים את התנאים המוקדמים הבאים:

  1. עוברים אל CONTRIBUTING.md ומעיינים בתהליך ההוספה של תוכן.
  2. אם עדיין לא עשית זאת, עליך לחתום על הסכם רישיון לתורמים.
  3. מתקינים או מגדירים את יחסי התלות הבאים:

לאחר מכן מבצעים את השלבים הבאים כדי לקבל את קוד המקור, להגדיר סביבה, את המאגר, ויוצרים בקשת משיכה.

קבל את הקוד

  1. יוצרים מזלג של מאגר XLA.
  2. משכפלים את המזלג של המאגר ומחליפים את <USER> בשם המשתמש שלכם ב-GitHub:

    git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
    
  3. החלפה לספרייה xla: cd xla

  4. מגדירים את המאגר המרוחק ב-upstream:

    git remote add upstream <a href="https://github.com/openxla/xla.git">https://github.com/openxla/xla.git</a>
    

הגדרת סביבה

  1. מתקינים את Bazel.

    כדי לבנות XLA, צריך להתקין את Bazel. הדרך המומלצת להתקנה Bazel משתמשת ב-Bazelisk, שמוריד באופן אוטומטי את גרסת Bazel הנכונה של XLA. אם בזליסק לא זמינה, אפשר להתקין את Bazel במצב ה-GRU

  2. יצירה והפעלה של קונטיינר 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 תהליך הבדיקה.