XLA বিকাশকারী গাইড

এই নির্দেশিকা আপনাকে দেখায় কিভাবে XLA প্রকল্পের উন্নয়ন শুরু করতে হয়।

আপনি শুরু করার আগে, নিম্নলিখিত পূর্বশর্তগুলি সম্পূর্ণ করুন:

  1. অবদান পৃষ্ঠাতে যান এবং অবদান প্রক্রিয়া পর্যালোচনা করুন।
  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 ব্যবহার করা, যা স্বয়ংক্রিয়ভাবে XLA-এর জন্য সঠিক Bazel সংস্করণ ডাউনলোড করে। Bazelisk অনুপলব্ধ হলে, আপনি ম্যানুয়ালি Bazel ইনস্টল করতে পারেন।

  2. এমএল-বিল্ড ডকার কন্টেইনার তৈরি করুন এবং চালান।

    CPU এবং GPU উভয়ের জন্য সমর্থন সহ XLA নির্মাণের জন্য একটি ডকার কন্টেইনার সেট আপ করতে, নিম্নলিখিত কমান্ডটি চালান:

    docker run -itd --rm \
      --name xla \
      -w /xla \
      -v $PWD:/xla \
      us-docker.pkg.dev/ml-oss-artifacts-published/ml-public-container/ml-build:latest \
      bash
    

    যদি GPU/CUDA সমর্থন সহ বিল্ডিং করা হয়, তাহলে সমস্ত উপলব্ধ GPU-তে কন্টেইনার অ্যাক্সেস দেওয়ার জন্য --gpus all যোগ করুন। এটি CUDA কম্পিউট ক্ষমতাগুলির স্বয়ংক্রিয় সনাক্তকরণ সক্ষম করে৷

নির্মাণ করুন

CPU এর জন্য কনফিগার করুন:

docker exec xla ./configure.py --backend=CPU

GPU এর জন্য কনফিগার করুন:

docker exec xla ./configure.py --backend=CUDA

CUDA কম্পিউট ক্ষমতা nvidia-smi চালানোর মাধ্যমে স্বয়ংক্রিয়ভাবে সনাক্ত করা হবে। বিল্ড করার সময় GPU গুলি উপলব্ধ না হলে, আপনাকে অবশ্যই গণনার ক্ষমতাগুলি ম্যানুয়ালি নির্দিষ্ট করতে হবে। যেমন:

# Automatically detects compute capabilities (requires GPUs)
./configure.py --backend=CUDA

# Manually specify compute capabilities (for builds without GPUs)
./configure.py --backend=CUDA --cuda_compute_capabilities="9.0"

নির্মাণ:

docker exec xla bazel build \
  --spawn_strategy=sandboxed \
  --test_output=all \
  //xla/...
  • ডকার কন্টেইনার শুরু করার সময় --gpus all পতাকা ব্যবহার করবেন না
  • ./configure.py এর সময়, --cuda_compute_capabilities পতাকা ব্যবহার করে CUDA গণনার ক্ষমতা ম্যানুয়ালি নির্দিষ্ট করুন।
# Automatically detects compute capabilities (requires GPUs)
./configure.py --backend=CUDA

# Manually specify compute capabilities (for builds without GPUs)
./configure.py --backend=CUDA --cuda_compute_capabilities="9.0"

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

আপনার প্রথম বিল্ডে বেশ সময় লাগবে কারণ এটিকে XLA, MLIR এবং StableHLO সহ পুরো স্ট্যাক তৈরি করতে হবে।

XLA বিল্ডিং সম্পর্কে আরও জানতে, উৎস থেকে বিল্ড দেখুন।

একটি টান অনুরোধ তৈরি করুন

আপনি যখন পর্যালোচনার জন্য পরিবর্তনগুলি পাঠাতে প্রস্তুত হন, তখন একটি পুল অনুরোধ তৈরি করুন৷

XLA কোড পর্যালোচনা দর্শন সম্পর্কে জানতে, পর্যালোচনা প্রক্রিয়া দেখুন।