راهنمای توسعه دهنده XLA

این راهنما به شما نشان می دهد که چگونه توسعه پروژه XLA را شروع کنید.

قبل از شروع، پیش نیازهای زیر را کامل کنید:

  1. به CONTRIBUTING.md بروید و روند مشارکت را بررسی کنید.
  2. اگر قبلاً این کار را نکرده‌اید، موافقت‌نامه مجوز مشارکت‌کننده را امضا کنید.
  3. وابستگی های زیر را نصب یا پیکربندی کنید:

سپس مراحل زیر را دنبال کنید تا کد منبع را دریافت کنید، یک محیط راه اندازی کنید، مخزن را بسازید و یک درخواست کشش ایجاد کنید.

کد را دریافت کنید

  1. یک فورک از مخزن XLA ایجاد کنید.
  2. فورک مخزن خود را کلون کنید و نام کاربری GitHub خود را جایگزین <USER> کنید:

    git clone <a href="https://github.com/">https://github.com/</a><USER>/xla.git
    
  3. به دایرکتوری xla تغییر دهید: cd xla

  4. مخزن بالادستی راه دور را پیکربندی کنید:

    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 دانلود می کند. اگر Bazelisk در دسترس نیست، می توانید Bazel را به صورت دستی نصب کنید .

  2. یک ظرف 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/...

اولین ساخت شما مدت زیادی طول می کشد زیرا باید کل پشته، از جمله XLA، MLIR و StableHLO را بسازد.

برای کسب اطلاعات بیشتر در مورد ساخت XLA، به ساخت از منبع مراجعه کنید.

یک درخواست کشش ایجاد کنید

وقتی برای ارسال تغییرات برای بررسی آماده شدید، یک درخواست کشش ایجاد کنید.

برای آشنایی با فلسفه بررسی کد XLA، به بررسی کد مراجعه کنید.