XLA: GPU অপ্টিমাইজেশান স্তর (-চালু)।

কিছু পাস আছে যা আমরা চালানোর জন্য উপকারী বলে মনে করি (বিশেষ করে স্কেলে), কিন্তু তারা HLO আকার বৃদ্ধি করে, এবং এইভাবে সংকলনের সময়। এই কারণেই তারা ডিফল্টরূপে সক্ষম হয় না। সুবিধার জন্য, আমরা একটি একক বিকল্পের অধীনে তাদের একত্রিত করি।

অপ্টিমাইজেশান_লেভেল O1 বা তার উপরে সেট করলে নিম্নলিখিত আচরণ হবে:

  • ডেটা-সমান্তরাল যোগাযোগের জন্য সাধারণত ব্যবহৃত সমষ্টিগুলি পাইপলাইন করা হবে। পৃথক পতাকা সক্ষম করে এই আচরণটি আরও দানাদারভাবে পরিচালনা করা যেতে পারে।
    • xla_gpu_enable_pipelined_all_gather
    • xla_gpu_enable_pipelined_all_reduce
    • xla_gpu_enable_pipelined_reduce_scatter
  • দুটি ফ্যাক্টর দ্বারা লুপ করার সময় আনরোল করা। লুপ-বাধা ভেঙে দেয় যা সম্ভাব্যভাবে একটি ভাল গণনা-যোগাযোগ ওভারল্যাপ এবং কম কপির দিকে পরিচালিত করে।
    • xla_gpu_enable_while_loop_double_buffering
  • লেটেন্সি হাইডিং সিডিউলার যোগাযোগের লেটেন্সি লুকানোর জন্য বেশিরভাগ কাজ করবে।
    • xla_gpu_enable_latency_hiding_scheduler
  • নেটওয়ার্কিং ব্যান্ডউইথ সর্বাধিক করার জন্য, কম্বাইনার পাসগুলি পাইপলাইনযুক্ত সমষ্টিগুলিকে সর্বাধিক উপলব্ধ মেমরিতে একত্রিত করবে। ইনপুট HLO এ লুপটি ইতিমধ্যেই আনরোল করা থাকলে অপ্টিমাইজেশানটি শুরু হয় না।