StableHLO অবস্থা

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