StableHLO অবস্থা

MHLO থেকে StableHLO তৈরি করার সময়, আমরা প্রিটিপ্রিন্টিং, ভেরিফিকেশন এবং শেপ ইনফারেন্স সহ MHLO-এর অনেক কিছুর ইমপ্লিমেন্টেশন উত্তরাধিকারসূত্রে পেয়েছি। এর ফলে, আমাদের কাছে ইতিমধ্যেই অপসেটের একটি উল্লেখযোগ্য কভারেজ রয়েছে, কিন্তু বিদ্যমান ইমপ্লিমেন্টেশনগুলোর সম্পূর্ণতা পর্যালোচনা করা এবং যেখানে কোনো ইমপ্লিমেন্টেশন নেই সেখানে নতুন ইমপ্লিমেন্টেশন সরবরাহ করার জন্য এখনও অনেক কাজ বাকি আছে।

এই লাইভ ডকুমেন্টটি ডেভেলপার এবং ব্যবহারকারীদের জন্য অপসেটের বিভিন্ন দিক—যেমন স্পেসিফিকেশন, ভেরিফিকেশন, টাইপ ইনফারেন্স, প্রিটি প্রিন্টিং, ইন্টারপ্রেটার ইত্যাদির অগ্রগতি ট্র্যাক করার উদ্দেশ্যে তৈরি।

কীভাবে এটি ব্যবহার করবেন

সংশ্লিষ্ট সারিতে উল্লিখিত একটি StableHLO অপ-এর, সংশ্লিষ্ট কলামে উল্লিখিত একটি নির্দিষ্ট অ্যাস্পেক্টের উপর অগ্রগতি, নিম্নলিখিত ট্র্যাকিং লেবেলগুলির মধ্যে একটি ব্যবহার করে ট্র্যাক করা হয়।

  • সাধারণ লেবেল
    • হ্যাঁ , এর একটি ব্যাপক বাস্তবায়ন রয়েছে।
    • না : এর কোনো বাস্তবায়ন নেই, তবে এটি নিয়ে কাজ করা রোডম্যাপের একটি অংশ। উল্লেখ্য যে, ভেরিফায়ারকে কখনোই "না" হিসেবে চিহ্নিত করা যাবে না, কারণ ওডিএস ইতিমধ্যেই কিছু যাচাইকরণ বাস্তবায়ন করে।
  • ভেরিফায়ার এবং টাইপ ইনফারেন্সের জন্য কাস্টমাইজড লেবেল
    • হ্যাঁ : এর একটি বাস্তবায়ন আছে, এবং এটি StableHLO-এর শব্দার্থের সাথে সামঞ্জস্যপূর্ণ।
    • হ্যাঁ* : এর একটি বাস্তবায়ন আছে, এবং এটি XLA সিম্যান্টিক্সের সাথে সামঞ্জস্যপূর্ণ। যেহেতু XLA সিম্যান্টিক্স প্রায়শই অপর্যাপ্তভাবে নথিভুক্ত থাকে, তাই আমরা রেফারেন্স হিসেবে hlo_verifier.cc এবং shape_inference.cc ব্যবহার করছি।
    • পুনরায় পর্যালোচনা : একটি বাস্তবায়ন আছে, কিন্তু এটি 'হ্যাঁ' বা 'হ্যাঁ*'-এর আওতায় পড়ে না - কারণ হয় আমরা এখনও এটি নিরীক্ষা করিনি, অথবা নিরীক্ষা করে কিছু সমস্যা পেয়েছি।
    • অসম্ভব : এর কোনো বাস্তবায়ন নেই, কারণ এটি অসম্ভব। উদাহরণস্বরূপ, কোনো অপারেশনের ফলাফলের ধরন তার অপারেন্ড এবং অ্যাট্রিবিউট থেকে অনুমান করা যায় না।

অবস্থা

StableHLO Op স্পেসিফিকেশন যাচাইকরণ টাইপ ইনফারেন্স সুন্দর প্রিন্টিং দোভাষী
পেট হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
যোগ করুন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
যাইহোক হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
সকলে একত্রিত হ্যাঁ পুনরায় পরিদর্শন করুন না না হ্যাঁ
সব_হ্রাস হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
সকলের কাছে_সকলের কাছে হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
এবং হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
atan2 হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ব্যাচ_নর্ম_গ্রেড হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না পুনরায় পরিদর্শন করুন
ব্যাচ_নর্ম_ইনফারেন্স হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না পুনরায় পরিদর্শন করুন
ব্যাচ_নর্ম_প্রশিক্ষণ হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না পুনরায় পরিদর্শন করুন
বিটকাস্ট_রূপান্তর হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ হ্যাঁ
সম্প্রচার না হ্যাঁ* হ্যাঁ* হ্যাঁ পুনরায় পরিদর্শন করুন
ব্রডকাস্ট_ইন_ডিম হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ হ্যাঁ
মামলা হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
সিবিআরটি হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ছাদ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
কোলেস্কি হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ পুনরায় পরিদর্শন করুন
ক্ল্যাম্প হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ হ্যাঁ হ্যাঁ
সম্মিলিত_সম্প্রচার হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
সম্মিলিত_পরিবর্তন হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
তুলনা করুন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
জটিল হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
যৌগিক হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ হ্যাঁ
সংযুক্ত করুন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ধ্রুবক হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
রূপান্তর করুন হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ হ্যাঁ
কনভোলিউশন হ্যাঁ হ্যাঁ অসম্ভব পুনরায় পরিদর্শন করুন হ্যাঁ
কোসাইন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
শুরুতে শূন্যের সংখ্যা হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
টোকেন তৈরি করুন না হ্যাঁ* হ্যাঁ* হ্যাঁ পুনরায় পরিদর্শন করুন
ক্রস-রেপ্লিকা-সাম না পুনরায় পরিদর্শন করুন হ্যাঁ* না পুনরায় পরিদর্শন করুন
কাস্টম_কল হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ হ্যাঁ
ভাগ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
বিন্দু না পুনরায় পরিদর্শন করুন অসম্ভব হ্যাঁ পুনরায় পরিদর্শন করুন
ডট_জেনারেল হ্যাঁ পুনরায় পরিদর্শন করুন অসম্ভব না হ্যাঁ
ডাইনামিক_ব্রডকাস্ট_ইন_ডিম হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ পুনরায় পরিদর্শন করুন
ডাইনামিক_কনভ হ্যাঁ হ্যাঁ অসম্ভব পুনরায় পরিদর্শন করুন পুনরায় পরিদর্শন করুন
ডাইনামিক_গ্যাদার হ্যাঁ হ্যাঁ অসম্ভব না পুনরায় পরিদর্শন করুন
ডাইনামিক_আইওটা হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ পুনরায় পরিদর্শন করুন
ডাইনামিক_প্যাড হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ পুনরায় পরিদর্শন করুন
গতিশীল_পুনর্গঠন হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ পুনরায় পরিদর্শন করুন
ডাইনামিক_স্লাইস হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ডাইনামিক_আপডেট_স্লাইস হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
আইনসাম না পুনরায় পরিদর্শন করুন না হ্যাঁ পুনরায় পরিদর্শন করুন
সূচকীয় হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
সূচকীয়_মাইনাস_এক হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
fft হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ হ্যাঁ হ্যাঁ
মেঝে হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
সংগ্রহ করুন হ্যাঁ হ্যাঁ হ্যাঁ না হ্যাঁ
get_dimension_size হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
get_tuple_element হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
যদি হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
ছবি হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ইনফিড হ্যাঁ হ্যাঁ অসম্ভব না হ্যাঁ
আয়োটা হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ হ্যাঁ
সসীম হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
লগ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
লগ_প্লাস_ওয়ান হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
লজিস্টিক হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
মানচিত্র হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
সর্বোচ্চ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
সর্বনিম্ন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
গুণ করুন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
অস্বীকার করা হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
না হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
অপ্টিমাইজেশন_বাধা হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
অথবা হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
আউটফিড হ্যাঁ হ্যাঁ হ্যাঁ না হ্যাঁ
প্যাড হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
পার্টিশন_আইডি হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
পপসিএনটি হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ক্ষমতা হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
আসল হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
বাস্তব_গতিশীল_স্লাইস না পুনরায় পরিদর্শন করুন না হ্যাঁ না
প্রাপ্ত হ্যাঁ হ্যাঁ অসম্ভব না হ্যাঁ
হ্রাস করুন হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ
রিডিউস_প্রিসিশন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
reduce_scatter হ্যাঁ পুনরায় পরিদর্শন করুন না না হ্যাঁ
রিডিউস_উইন্ডো হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
বাকি হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
রেপ্লিকা_আইডি হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
নতুন আকার দেওয়া হ্যাঁ হ্যাঁ অসম্ভব হ্যাঁ হ্যাঁ
ফেরত না পুনরায় পরিদর্শন করুন অসম্ভব হ্যাঁ হ্যাঁ
বিপরীত হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
আরএনজি হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ পুনরায় পরিদর্শন করুন
rng_bit_generator হ্যাঁ পুনরায় পরিদর্শন করুন অসম্ভব হ্যাঁ পুনরায় পরিদর্শন করুন
round_nearest_afz হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
নিকটতম জোড় সংখ্যা হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
rsqrt হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
বিক্ষিপ্ত হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
নির্বাচন করুন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
সিলেক্ট_অ্যান্ড_স্ক্যাটার হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
পাঠান হ্যাঁ হ্যাঁ হ্যাঁ না হ্যাঁ
মাত্রা_আকার নির্ধারণ করুন না হ্যাঁ* হ্যাঁ* হ্যাঁ না
shift_left হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
shift_right_arithmetic হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
shift_right_logical হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
চিহ্ন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
সাইন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
টুকরো হ্যাঁ হ্যাঁ হ্যাঁ না হ্যাঁ
সাজানো হ্যাঁ হ্যাঁ হ্যাঁ না হ্যাঁ
বর্গমূল হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
বিয়োগ করুন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ট্যান হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
তানহ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
টর্চ_সূচক_নির্বাচন না পুনরায় পরিদর্শন করুন না না পুনরায় পরিদর্শন করুন
স্থানান্তরিত করুন হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ত্রিভুজাকার_সমাধান হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ না হ্যাঁ
টাপল হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
একমুখী_আইনসাম না পুনরায় পরিদর্শন করুন না হ্যাঁ পুনরায় পরিদর্শন করুন
ইউনিফর্ম_ডিকোয়ান্টাইজ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ
ইউনিফর্ম_কোয়ান্টাইজ হ্যাঁ পুনরায় পরিদর্শন করুন অসম্ভব হ্যাঁ হ্যাঁ
যখন হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ পুনরায় পরিদর্শন করুন হ্যাঁ
এক্সওআর হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ হ্যাঁ

কোয়ান্টাইজড অপারেশনের জন্য টাইপ অনুমান

উপরের টেবিলের Type Inference কলামটির উদ্দেশ্য হলো নন-কোয়ান্টাইজড অপারেশনগুলোর উপর আলোকপাত করা। বেশিরভাগ কোয়ান্টাইজড অপারেশনের ক্ষেত্রে ফলাফলের টাইপ অনুমান করা সম্ভব নয়, কারণ ফলাফলের টাইপের কোয়ান্টাইজেশন প্যারামিটারগুলো অপারেন্ডগুলোর থেকে ভিন্ন হতে পারে। কিছু ব্যতিক্রমী ক্ষেত্র ছাড়া, যেখানে অপারেন্ড এবং রেজাল্টের টাইপ হুবহু এক হতে হবে, অথবা রেজাল্টের টাইপ অনুমান করার জন্য অপারেশনের কিছু সীমাবদ্ধতা থাকে, সেই সব অপরচুনিটি নিচে তালিকাভুক্ত করা হলো: all_gather , all_to_all , case , collective_permute , compare , concatenate , constant , dynamic_slice , dynamic_update_slice , gather , get_tuple_element , if , infeed , is_finite , map , optimization_barrier , outfeed , pad , recv , reduce , reduce_scatter , reduce_window , reverse , scatter , select_and_scatter , send , slice , sort , transpose , tuple , uniform_dequantized , while