MHLO থেকে StableHLO বুটস্ট্র্যাপ করার সময়, আমরা উত্তরাধিকারসূত্রে MHLO-এর বাস্তবায়নের অনেক কিছু পেয়েছি, যার মধ্যে প্রিটিপ্রিন্টিং, যাচাইকরণ এবং আকৃতির অনুমান রয়েছে। এর জন্য ধন্যবাদ, আমাদের কাছে ইতিমধ্যেই অপসেটের উল্লেখযোগ্য কভারেজ রয়েছে, তবে সম্পূর্ণতার জন্য বিদ্যমান বাস্তবায়নগুলি পর্যালোচনা করতে এবং যেখানে কোনটিই নেই সেখানে নতুন বাস্তবায়ন প্রদান করার জন্য এখনও অনেক কিছু করার আছে।
এই লাইভ ডকুমেন্টটি ডেভেলপার এবং ব্যবহারকারীদের জন্য অপসেটের বিভিন্ন দিক - স্পেসিফিকেশন, যাচাইকরণ, টাইপ ইনফারেন্স, প্রিটি প্রিন্টিং, ইন্টারপ্রেটার ইত্যাদির অগ্রগতি ট্র্যাক করার জন্য।
এটি কিভাবে ব্যবহার করতে
একটি StableHLO অপের অগ্রগতি, যেমনটি সংশ্লিষ্ট সারিতে উল্লিখিত হয়েছে, একটি নির্দিষ্ট দিকের উপর, সংশ্লিষ্ট কলামে উল্লিখিত, নিম্নলিখিত ট্র্যাকিং লেবেলগুলির একটি ব্যবহার করে ট্র্যাক করা হয়।
- জেনেরিক লেবেল
- হ্যাঁ : একটি ব্যাপক বাস্তবায়ন আছে।
- না : কোন বাস্তবায়ন নেই, তবে এটির উপর কাজ করা রোডম্যাপের অংশ। মনে রাখবেন যে যাচাইকারীকে কখনই "না" হিসাবে লেবেল করা যাবে না কারণ ODS ইতিমধ্যে কিছু যাচাইকরণ প্রয়োগ করে৷
- যাচাইকারী এবং টাইপ ইনফারেন্সের জন্য কাস্টমাইজড লেবেল
- হ্যাঁ : একটি বাস্তবায়ন আছে, এবং এটি StableHLO শব্দার্থবিদ্যার সাথে সিঙ্কে রয়েছে।
- হ্যাঁ* : একটি বাস্তবায়ন রয়েছে এবং এটি XLA শব্দার্থবিদ্যার সাথে সিঙ্কে রয়েছে। যেহেতু XLA শব্দার্থবিদ্যা প্রায়শই আন্ডারডকুমেন্টেড থাকে, তাই আমরা রেফারেন্স হিসাবে hlo_verifier.cc এবং shape_inference.cc ব্যবহার করছি।
- পুনর্বিবেচনা : একটি বাস্তবায়ন আছে, কিন্তু এটি "হ্যাঁ" বা "হ্যাঁ*"-এর অধীনে পড়ে না - হয় কারণ আমরা এখনও এটি নিরীক্ষণ করিনি, অথবা কারণ আমাদের সমস্যা আছে এবং পাওয়া গেছে।
- অসম্ভাব্য : কোন বাস্তবায়ন নেই, কারণ এটি অসম্ভাব্য। উদাহরণস্বরূপ, কারণ একটি অপের ফলাফলের ধরন তার অপারেন্ড এবং বৈশিষ্ট্যগুলি থেকে অনুমান করা যায় না।
স্ট্যাটাস
| StableHLO অপপ | স্পেসিফিকেশন | প্রতিপাদন | টাইপ ইনফারেন্স | প্রিটি প্রিন্টিং | দোভাষী |
|---|---|---|---|---|---|
| abs | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| যোগ করুন | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| সর্বোপরি | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| সব_জড়ো করা | হ্যাঁ | পুনরায় দেখা | না | না | হ্যাঁ |
| all_reduce | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| সব_থেকে_সমস্ত | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| এবং | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| atan2 | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ব্যাচ_নর্ম_গ্র্যাড | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | পুনরায় দেখা |
| ব্যাচ_নর্ম_ইনফারেন্স | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | পুনরায় দেখা |
| ব্যাচ_নর্ম_প্রশিক্ষণ | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | পুনরায় দেখা |
| bitcast_convert | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| সম্প্রচার | না | হ্যাঁ* | হ্যাঁ* | হ্যাঁ | পুনরায় দেখা |
| broadcast_in_dim | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| মামলা | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| সিবিআরটি | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ছাদ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| চোলেস্কি | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | পুনরায় দেখা |
| বাতা | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| যৌথ_সম্প্রচার | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| সমষ্টিগত_পারমিউট | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| তুলনা করা | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| জটিল | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| যৌগিক | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| শ্রেণীবদ্ধভাবে সংযুক্ত করা | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ধ্রুবক | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| রূপান্তর | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| আবর্তন | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | পুনরায় দেখা | হ্যাঁ |
| কোসাইন | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| গণনা_প্রধান_শূন্য | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| create_token | না | হ্যাঁ* | হ্যাঁ* | হ্যাঁ | পুনরায় দেখা |
| ক্রস-প্রতিলিপি-সমষ্টি | না | পুনরায় দেখা | হ্যাঁ* | না | পুনরায় দেখা |
| কাস্টম_কল | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| বিভক্ত করা | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| বিন্দু | না | পুনরায় দেখা | অসম্ভাব্য | হ্যাঁ | পুনরায় দেখা |
| ডট_জেনারেল | হ্যাঁ | পুনরায় দেখা | অসম্ভাব্য | না | হ্যাঁ |
| dynamic_broadcast_in_dim | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | পুনরায় দেখা |
| dynamic_conv | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | পুনরায় দেখা | পুনরায় দেখা |
| dynamic_gather | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | না | পুনরায় দেখা |
| dynamic_iota | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | পুনরায় দেখা |
| ডাইনামিক_প্যাড | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | পুনরায় দেখা |
| ডাইনামিক_রিশেপ | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | পুনরায় দেখা |
| dynamic_slice | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ডাইনামিক_আপডেট_স্লাইস | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| einsum | না | পুনরায় দেখা | না | হ্যাঁ | পুনরায় দেখা |
| সূচকীয় | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| সূচকীয়_মাইনাস_এক | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| fft | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | হ্যাঁ | না |
| মেঝে | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| জড়ো করা | হ্যাঁ | হ্যাঁ | হ্যাঁ | না | হ্যাঁ |
| প্রাপ্ত_মাত্রা_সাইজ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| get_tuple_element | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| যদি | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| ইমেজ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ইনফিড | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | না | হ্যাঁ |
| iota | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| is_finite | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| লগ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| log_plus_one | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| লজিস্টিক | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| মানচিত্র | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| সর্বোচ্চ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| সর্বনিম্ন | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| গুণ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| অস্বীকার | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| না | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| অপ্টিমাইজেশান_বাধা | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| বা | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| আউটফিড | হ্যাঁ | হ্যাঁ | হ্যাঁ | না | হ্যাঁ |
| প্যাড | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| partition_id | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| popcnt | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ক্ষমতা | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| বাস্তব | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| বাস্তব_ডাইনামিক_স্লাইস | না | পুনরায় দেখা | না | হ্যাঁ | না |
| recv | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | না | হ্যাঁ |
| হ্রাস করা | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | পুনরায় দেখা | হ্যাঁ |
| হ্রাস_নির্ভুলতা | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| হ্রাস_বিক্ষেপ | হ্যাঁ | পুনরায় দেখা | না | না | হ্যাঁ |
| হ্রাস_উইন্ডো | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| অবশিষ্ট | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| প্রতিরূপ_আইডি | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| নতুন আকার দেওয়া | হ্যাঁ | হ্যাঁ | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| ফিরে | না | পুনরায় দেখা | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| বিপরীত | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| আরএনজি | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | পুনরায় দেখা |
| rng_bit_generator | হ্যাঁ | পুনরায় দেখা | অসম্ভাব্য | হ্যাঁ | পুনরায় দেখা |
| round_nearest_afz | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| বৃত্তাকার_নিকটতম_সম | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| rsqrt | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ছিটান | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| নির্বাচন করুন | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| নির্বাচন_এবং_ছত্রাক | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | হ্যাঁ |
| পাঠান | হ্যাঁ | হ্যাঁ | হ্যাঁ | না | হ্যাঁ |
| সেট_মাত্রা_আকার | না | হ্যাঁ* | হ্যাঁ* | হ্যাঁ | না |
| শিফট_বাম | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| shift_right_rithmetic | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| shift_right_logical | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| চিহ্ন | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| সাইন | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| টুকরা | হ্যাঁ | হ্যাঁ | হ্যাঁ | না | হ্যাঁ |
| সাজান | হ্যাঁ | হ্যাঁ | হ্যাঁ | না | হ্যাঁ |
| sqrt | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| বিয়োগ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ট্যান | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| তানহ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| torch_index_select | না | পুনরায় দেখা | না | না | পুনরায় দেখা |
| স্থানান্তর | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| triangular_solve | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | না | পুনরায় দেখা |
| টিপল | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| unary_einsum | না | পুনরায় দেখা | না | হ্যাঁ | পুনরায় দেখা |
| uniform_dequantize | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| uniform_quantize | হ্যাঁ | পুনরায় দেখা | অসম্ভাব্য | হ্যাঁ | হ্যাঁ |
| যখন | হ্যাঁ | পুনরায় দেখা | হ্যাঁ | পুনরায় দেখা | হ্যাঁ |
| xor | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
পরিমাপকৃত ক্রিয়াকলাপের জন্য অনুমান টাইপ করুন
উপরের টেবিলের Type Inference কলামটি অ-পরিমাণিত ক্রিয়াকলাপগুলিতে ফোকাস করার উদ্দেশ্যে। বেশিরভাগ পরিমাপকৃত ক্রিয়াকলাপের জন্য, ফলাফলের ধরনটি অনুমান করা সম্ভব নয় কারণ ফলাফলের প্রকারের পরিমাপ পরিমাপগুলি অপারেন্ডগুলির থেকে পরিবর্তিত হতে পারে। কিছু ক্ষেত্রে বাদে যেখানে, অপারেন্ড এবং ফলাফলের ধরনগুলি অবশ্যই একইভাবে মিলতে হবে, বা ফলাফলের ধরণ অনুমান করার জন্য op-এর সীমাবদ্ধতা রয়েছে, এই ধরনের অপগুলি নীচে তালিকাভুক্ত করা হয়েছে: 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 ।