ভিএইচএলও চেকলিস্ট

ভিএইচএলও সম্পর্কে তথ্যের জন্য vhlo.md দেখুন।

বেমানান পরিবর্তন অবদান

সামঞ্জস্যের প্রভাব সহ সমস্ত পরিবর্তন অবশ্যই RFC প্রক্রিয়ার মধ্য দিয়ে যেতে হবে। এর মধ্যে একটি বৈশিষ্ট্য যোগ করা, অবমূল্যায়ন করা বা পুনঃনামকরণ অন্তর্ভুক্ত রয়েছে। একবার RFC অনুমোদিত হলে, নিম্নলিখিত পদক্ষেপগুলি অবশ্যই সম্পন্ন করতে হবে:

1. Version.h-এ ভার্সন নম্বর বাম্প করুন এবং ভার্সন লগ আপডেট করুন

VHLO অপ্স, অ্যাট্রিবিউট, প্রকার বা রূপান্তর আপডেট করার আগে, Version.h- এ ছোট সংস্করণ সংখ্যা বৃদ্ধি করুন এবং VhloDialect.td- এ সংস্করণ লগ আপডেট করুন

যেকোন নতুন VHLO বৈশিষ্ট্য যোগ করলে এই বাম্পড সংস্করণ ব্যবহার করা হবে, উদাহরণস্বরূপ 0.10.0 --> 0.11.0 বাম্প করার পরে, VhloOps.td- এ একটি নতুন অপ ব্যবহার করবে:

VHLO_Op<"abs_v2", "0.11.0", "current">

2. প্রয়োজনীয় VHLO বাস্তবায়ন এবং রূপান্তর যোগ করুন

একটি নতুন বৈশিষ্ট্য সংহত করার জন্য প্রয়োজনীয় সঠিক কোডটি পরিবর্তিত হবে, তবে বেশিরভাগ অংশের জন্য নিম্নলিখিতগুলি পরিবর্তন করতে হবে:

  • নতুন অপারেশনের জন্য:
    1. VhloOps.td- এ অপটি যোগ করুন
    2. StablehloLegalizeToVhlo.cpp- এ StableHLO → VHLO রূপান্তর যোগ করুন
    3. VhloLegalizeToStablehlo.cpp- এ VHLO → StableHLO রূপান্তর যোগ করুন
  • বিদ্যমান অপারেশনগুলির নতুন সংস্করণগুলির জন্য:
    1. VhloOps.td- এ অপটি যোগ করুন
    2. MapStablehloToVhlo.h- এ VHLO ম্যাপিং-এ StableHLO আপডেট করুন
    3. VhloToVersion.cpp- এ নতুন এবং পুরানো অপ সংস্করণের মধ্যে একটি রূপান্তর যোগ করুন
  • নতুন ধরনের বা বৈশিষ্ট্যের জন্য:
    1. VhloTypes.td- এ টাইপ বা VhloAttrs.td- এ অ্যাট্রিবিউট যোগ করুন
    2. StablehloLegalizeToVhlo.cpp- এ StableHLO → VHLO রূপান্তর যোগ করুন
    3. VhloLegalizeToStablehlo.cpp- এ VHLO → StableHLO রূপান্তর যোগ করুন

3. ইউনিট পরীক্ষা যোগ/আপডেট করুন

একটি বেমানান পরিবর্তনের অবদানকারী বৈশিষ্ট্যটির ইতিবাচক এবং নেতিবাচক উভয় ইউনিট পরীক্ষার পাশাপাশি সামঞ্জস্য ইউনিট পরীক্ষার জন্য দায়ী।

কম্প্যাটিবিলিটি ইউনিট টেস্টিংয়ে স্টেবলএইচএলও রাউন্ড ট্রিপ নিশ্চিত করতে stablehlo_legalize_to_vhlo.mlir আপডেট করা জড়িত যাতে VHLO এর সর্বশেষ সংস্করণের সাথে সাথে যেকোন অতিরিক্ত ফরোয়ার্ড বা পশ্চাদমুখী সামঞ্জস্য পরীক্ষার প্রয়োজন হয়। উদাহরণস্বরূপ, যদি X সংস্করণে Y = X - 1 এর সাথে একটি নতুন অপ যোগ করা হয়, vhlo_to_version_downgrade_invalid.0_Y_0.mlir এর মতো একটি পরীক্ষা ফাইল যোগ করুন যা দেখায় যে সংস্করণ X এর আগে অপটি অসমর্থিত। যদি একটি অপের একটি নতুন সংস্করণ যোগ করা হয়, vhlo_to_version_downgrade.0_Y_0.mlir এর মতো একটি পরীক্ষা ফাইল যোগ করুন যা দেখায় যে অপটি সফলভাবে ডাউনগ্রেড করা যেতে পারে৷

যদি আপনার অপের ডিফল্ট বৈশিষ্ট্য থাকে, তাহলে পরীক্ষাগুলি অন্তর্ভুক্ত করুন যা দেখায় যে ডিফল্টগুলি সঠিকভাবে ক্রমিক এবং ডিসিরিয়ালাইজ করা হয়েছে৷

4. সংস্করণযুক্ত সিরিয়ালাইজেশন পরীক্ষা যোগ করুন

stablehlo_legalize_to_vhlo.mlir এ পরীক্ষাগুলি যোগ করার পরে, নতুন সংস্করণে একটি নতুন ফাইলে বৃহত্তম সংস্করণ সহ সংস্করণযুক্ত পরীক্ষা ফাইলটি অনুলিপি করুন এবং সেই ফাইলটিতে নতুন পরীক্ষাগুলিও যুক্ত করুন৷ আপনাকে stablehlo-translate ব্যবহার করে একটি সম্পর্কিত বাইটকোড ফাইল তৈরি করতে হবে:

export TARGET_VERSION=1.X.0
export TARGET_FILENAME=${TARGET_VERSION//./_}
stablehlo-translate --serialize --target=$TARGET_VERSION --strip-debuginfo stablehlo/tests/vhlo/stablehlo_legalize_to_vhlo.$TARGET_FILENAME.mlir > stablehlo/tests/vhlo/stablehlo_legalize_to_vhlo.$TARGET_FILENAME.mlir.bc
,

ভিএইচএলও সম্পর্কে তথ্যের জন্য vhlo.md দেখুন।

বেমানান পরিবর্তন অবদান

সামঞ্জস্যের প্রভাব সহ সমস্ত পরিবর্তন অবশ্যই RFC প্রক্রিয়ার মধ্য দিয়ে যেতে হবে। এর মধ্যে একটি বৈশিষ্ট্য যোগ করা, অবমূল্যায়ন করা বা পুনঃনামকরণ অন্তর্ভুক্ত রয়েছে। একবার RFC অনুমোদিত হলে, নিম্নলিখিত পদক্ষেপগুলি অবশ্যই সম্পন্ন করতে হবে:

1. Version.h-এ ভার্সন নম্বর বাম্প করুন এবং ভার্সন লগ আপডেট করুন

VHLO অপ্স, অ্যাট্রিবিউট, প্রকার বা রূপান্তর আপডেট করার আগে, Version.h- এ ছোট সংস্করণ সংখ্যা বৃদ্ধি করুন এবং VhloDialect.td- এ সংস্করণ লগ আপডেট করুন

যেকোন নতুন VHLO বৈশিষ্ট্য যোগ করলে এই বাম্পড সংস্করণ ব্যবহার করা হবে, উদাহরণস্বরূপ 0.10.0 --> 0.11.0 বাম্প করার পরে, VhloOps.td- এ একটি নতুন অপ ব্যবহার করবে:

VHLO_Op<"abs_v2", "0.11.0", "current">

2. প্রয়োজনীয় VHLO বাস্তবায়ন এবং রূপান্তর যোগ করুন

একটি নতুন বৈশিষ্ট্য সংহত করার জন্য প্রয়োজনীয় সঠিক কোডটি পরিবর্তিত হবে, তবে বেশিরভাগ অংশের জন্য নিম্নলিখিতগুলি পরিবর্তন করতে হবে:

  • নতুন অপারেশনের জন্য:
    1. VhloOps.td- এ অপটি যোগ করুন
    2. StablehloLegalizeToVhlo.cpp- এ StableHLO → VHLO রূপান্তর যোগ করুন
    3. VhloLegalizeToStablehlo.cpp- এ VHLO → StableHLO রূপান্তর যোগ করুন
  • বিদ্যমান অপারেশনগুলির নতুন সংস্করণগুলির জন্য:
    1. VhloOps.td- এ অপটি যোগ করুন
    2. MapStablehloToVhlo.h- এ VHLO ম্যাপিং-এ StableHLO আপডেট করুন
    3. VhloToVersion.cpp- এ নতুন এবং পুরানো অপ সংস্করণের মধ্যে একটি রূপান্তর যোগ করুন
  • নতুন ধরনের বা বৈশিষ্ট্যের জন্য:
    1. VhloTypes.td- এ টাইপ বা VhloAttrs.td- এ অ্যাট্রিবিউট যোগ করুন
    2. StablehloLegalizeToVhlo.cpp- এ StableHLO → VHLO রূপান্তর যোগ করুন
    3. VhloLegalizeToStablehlo.cpp- এ VHLO → StableHLO রূপান্তর যোগ করুন

3. ইউনিট পরীক্ষা যোগ/আপডেট করুন

একটি বেমানান পরিবর্তনের অবদানকারী বৈশিষ্ট্যটির ইতিবাচক এবং নেতিবাচক উভয় ইউনিট পরীক্ষার পাশাপাশি সামঞ্জস্য ইউনিট পরীক্ষার জন্য দায়ী।

কম্প্যাটিবিলিটি ইউনিট টেস্টিংয়ে স্টেবলএইচএলও রাউন্ড ট্রিপ নিশ্চিত করতে stablehlo_legalize_to_vhlo.mlir আপডেট করা জড়িত যাতে VHLO এর সর্বশেষ সংস্করণের সাথে সাথে যেকোন অতিরিক্ত ফরোয়ার্ড বা পশ্চাদমুখী সামঞ্জস্য পরীক্ষার প্রয়োজন হয়। উদাহরণস্বরূপ, যদি X সংস্করণে Y = X - 1 এর সাথে একটি নতুন অপ যোগ করা হয়, vhlo_to_version_downgrade_invalid.0_Y_0.mlir এর মতো একটি পরীক্ষা ফাইল যোগ করুন যা দেখায় যে সংস্করণ X এর আগে অপটি অসমর্থিত। যদি একটি অপের একটি নতুন সংস্করণ যোগ করা হয়, vhlo_to_version_downgrade.0_Y_0.mlir এর মতো একটি পরীক্ষা ফাইল যোগ করুন যা দেখায় যে অপটি সফলভাবে ডাউনগ্রেড করা যেতে পারে৷

যদি আপনার অপের ডিফল্ট বৈশিষ্ট্য থাকে, তাহলে পরীক্ষাগুলি অন্তর্ভুক্ত করুন যা দেখায় যে ডিফল্টগুলি সঠিকভাবে ক্রমিক এবং ডিসিরিয়ালাইজ করা হয়েছে৷

4. সংস্করণযুক্ত সিরিয়ালাইজেশন পরীক্ষা যোগ করুন

stablehlo_legalize_to_vhlo.mlir এ পরীক্ষাগুলি যোগ করার পরে, নতুন সংস্করণে একটি নতুন ফাইলে বৃহত্তম সংস্করণ সহ সংস্করণযুক্ত পরীক্ষা ফাইলটি অনুলিপি করুন এবং সেই ফাইলটিতে নতুন পরীক্ষাগুলিও যুক্ত করুন৷ আপনাকে stablehlo-translate ব্যবহার করে একটি সম্পর্কিত বাইটকোড ফাইল তৈরি করতে হবে:

export TARGET_VERSION=1.X.0
export TARGET_FILENAME=${TARGET_VERSION//./_}
stablehlo-translate --serialize --target=$TARGET_VERSION --strip-debuginfo stablehlo/tests/vhlo/stablehlo_legalize_to_vhlo.$TARGET_FILENAME.mlir > stablehlo/tests/vhlo/stablehlo_legalize_to_vhlo.$TARGET_FILENAME.mlir.bc