OpenXLA তে অবদান

সবাই OpenXLA-তে অবদান রাখতে পারে এবং আমরা প্রত্যেকের অবদানকে মূল্য দিই। অবদান রাখার বিভিন্ন উপায় রয়েছে, যার মধ্যে রয়েছে:

  • OpenXLA-এর আলোচনা ফোরামে প্রশ্নের উত্তর দেওয়া (openxla-আলোচনা)

  • OpenXLA এর ডকুমেন্টেশন উন্নত বা প্রসারিত করা

  • OpenXLA এর কোড-বেসে অবদান রাখা

  • OpenXLA-তে নির্মিত লাইব্রেরির বৃহত্তর ইকোসিস্টেমে উপরের যেকোনো উপায়ে অবদান রাখা

OpenXLA প্রকল্পটি Google-এর ওপেন সোর্স কমিউনিটি নির্দেশিকা অনুসরণ করে।

তুমি শুরু করার আগে

অবদানকারী লাইসেন্স চুক্তিতে স্বাক্ষর করুন

এই প্রকল্পে অবদান অবশ্যই একটি কন্ট্রিবিউটর লাইসেন্স চুক্তি (CLA) দ্বারা অনুষঙ্গী হতে হবে। আপনি (বা আপনার নিয়োগকর্তা) আপনার অবদানের কপিরাইট ধরে রেখেছেন; এটি কেবল আমাদের প্রকল্পের অংশ হিসাবে আপনার অবদানগুলি ব্যবহার এবং পুনরায় বিতরণ করার অনুমতি দেয়৷

যদি আপনি বা আপনার বর্তমান নিয়োগকর্তা ইতিমধ্যেই Google CLA-তে স্বাক্ষর করে থাকেন (এমনকি এটি একটি ভিন্ন প্রকল্পের জন্য হলেও), আপনাকে সম্ভবত এটি আবার করতে হবে না।

আপনার বর্তমান চুক্তিগুলি দেখতে বা একটি নতুন স্বাক্ষর করতে < https://cla.developers.google.com/ > এ যান৷

আচরণবিধি পর্যালোচনা করুন

এই প্রজেক্টটি Tensorflow এর কোড অফ কন্ডাক্ট অনুসরণ করে।

অবদান প্রক্রিয়া

বিকাশকারী গাইড

ওপেনএক্সএলএ-এর জন্য কীভাবে একটি ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ করতে হয়, কোড পাওয়া, এটি তৈরি করা, পরীক্ষা চালানো এবং পরিবর্তন জমা দেওয়া সহ একটি গাইডের জন্য, অনুগ্রহ করে ডেভেলপার গাইড দেখুন।

কোড মান

  • কোডিং স্টাইল : আমরা গুগলের কোড স্টাইল গাইড অনুসরণ করি। বিশেষভাবে C/C++ এবং Python গাইড দেখুন। জমা দেওয়া সমস্ত কোড কঠোরভাবে এই শৈলী নির্দেশিকা মেনে চলতে হবে।

  • কমপ্যাক্ট পরিবর্তন : আমরা Google এর প্রকৌশল অনুশীলন অনুসরণ করি। বিশেষ করে, অনুগ্রহ করে কম্প্যাক্ট পরিবর্তন লেখার নির্দেশিকা পর্যবেক্ষণ করুন। এটি করার ফলে পর্যালোচনাযোগ্যতা উন্নত করার কারণে এবং পরিবর্তনের অনিচ্ছাকৃত পার্শ্বপ্রতিক্রিয়ার সম্ভাবনা হ্রাস করার কারণে আপনি যে গতিতে আপনার কোড একত্রিত করতে পারেন তা ব্যাপকভাবে বৃদ্ধি করবে। এমনকি যদি আপনার একটি বড় পরিবর্তন থাকে, তবে এটিকে আরও ক্রমবর্ধমান পরিবর্তনে ভাঙ্গার জন্য অনেক কৌশল রয়েছে।

  • পরীক্ষার কভারেজ : সমস্ত পরিবর্তনের উপযুক্ত ইউনিট পরীক্ষা অন্তর্ভুক্ত করা উচিত। ইউনিট পরীক্ষাগুলি নির্দিষ্ট হার্ডওয়্যারের (CPU, GPU, ইত্যাদি) সময়ের উপর নির্ভরশীল হওয়া উচিত নয় এবং নির্ধারক এবং ফোকাসড পরীক্ষা করার জন্য উপহাস এবং নকলের উদার ব্যবহার করা উচিত। বিদ্যমান কোড প্রসারিত করতে চাওয়া পরিবর্তনগুলি যা বর্তমানে পরীক্ষা করা কঠিন তা পরীক্ষাযোগ্যতার উপযুক্ত উন্নতি করা উচিত।

    সুবিধাগুলি স্পষ্টভাবে বোঝা যায় তা নিশ্চিত করার জন্য সমস্ত পরিবর্তনের উপযুক্ত বেঞ্চমার্ক ফলাফলের পাশাপাশি পরিবর্তন শিরোনামে অন্তর্ভুক্ত করা উচিত।

  • কোডের মধ্যে কনভেনশন সম্পর্কে সন্দেহ হলে, পূর্ব-বিদ্যমান কোড পরীক্ষা করা এবং ওপেনএক্সএলএ-তে ইতিমধ্যেই বিদ্যমান নিদর্শনগুলি অনুসরণ করার চেষ্টা করা সর্বদা একটি ভাল ধারণা।

পর্যালোচনা প্রক্রিয়া

সমস্ত জমা, প্রকল্প সদস্যদের দ্বারা জমা সহ, পর্যালোচনা প্রয়োজন. আমরা এই উদ্দেশ্যে গিটহাব পুল অনুরোধগুলি ব্যবহার করি। পুল অনুরোধগুলি ব্যবহার করার বিষয়ে আরও তথ্যের জন্য GitHub সহায়তার সাথে পরামর্শ করুন।

  • কোড পর্যালোচনা করার আগে উপরে তালিকাভুক্ত সমস্ত মান অনুসরণ করা আবশ্যক. এগুলি ঐচ্ছিক নয় এবং পরিবর্তনের সময়মত গ্রহণযোগ্যতা নিশ্চিত করার জন্য পর্যালোচনার অনুরোধ করার আগে জমাকারীর তাদের কোডটি মেনে চলা নিশ্চিত করা গুরুত্বপূর্ণ।

  • সকল পরীক্ষায় উত্তীর্ণ হতে হবে । আপনি যদি দেখেন যে একটি পরীক্ষা ভেঙে গেছে এবং সমস্যাটি আপনার বিল্ড এনভায়রনমেন্ট বা অন্যথায় আপনার পরিবর্তনের সাথে সম্পর্কিত নয়, অনুগ্রহ করে রক্ষণাবেক্ষণকারীদের সাথে যোগাযোগ করুন।

  • পর্যালোচনা প্রক্রিয়া চলাকালীন সুযোগ হামাগুড়ি এড়াতে চেষ্টা করুন. এটি জমাকারী এবং পর্যালোচনাকারী উভয়েরই দায়িত্ব। একটি পরিবর্তন খুব বড় হতে শুরু করলে, এটিকে একাধিক পরিবর্তনে বিভক্ত করার কথা বিবেচনা করুন।

  • একটি পরিবর্তন মার্জ করার আগে, এটি অভ্যন্তরীণ পরীক্ষার মধ্য দিয়ে যাবে যা Google এবং অন্যান্য হার্ডওয়্যার বিক্রেতাদের অভ্যন্তরীণ কোড ব্যবহার করে। এটি সম্ভাব্যভাবে পর্যালোচনা প্রক্রিয়ায় অতিরিক্ত পদক্ষেপ যোগ করতে পারে যদি অভ্যন্তরীণ পরীক্ষায় ব্যর্থতা থাকে যা আমাদের পাবলিক CI ধরতে পারে না। Googler আপনার পরিবর্তন পর্যালোচনা করবে অভ্যন্তরীণ পরীক্ষায় ব্যর্থতার সাথে যোগাযোগ করবে এবং কী ঠিক করা দরকার তা বর্ণনা করবে।

প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)

XLA টিমের একটি ডেডিকেটেড অবকাঠামো দল নেই, তাই সাহায্যকারী লাইব্রেরি তৈরি করা এবং প্রযুক্তিগত ঋণ এড়ানো আমাদের সবার উপর নির্ভর করে। আমরা এটিকে XLA-তে পরিবর্তন করার একটি নিয়মিত অংশ হিসাবে বিবেচনা করি এবং প্রত্যেকের অংশগ্রহণের আশা করা হচ্ছে। আমরা সাধারণত কোড লেখার সময় প্রয়োজনীয় অবকাঠামো তৈরি করি।

XLA পর্যালোচকরা আপনাকে কিছু পরিকাঠামো তৈরি করতে বলতে পারেন (অথবা অন্যথায় একটি PR-এ একটি বড় পরিবর্তন করতে) সাথে আপনার লেখা একটি PR সহ। আপনি যে পরিবর্তন করার চেষ্টা করছেন তার জন্য এই অনুরোধটি অপ্রয়োজনীয় বা অর্থোগোনাল বলে মনে হতে পারে। আপনার কতটা ইনফ্রা তৈরি করতে হবে সে সম্পর্কে আপনার প্রত্যাশা এবং একই জন্য আপনার পর্যালোচকের প্রত্যাশার মধ্যে অমিলের কারণে এটি হতে পারে।

প্রত্যাশার অমিল ঠিক আছে! এটি প্রত্যাশিত যখন আপনি একটি প্রকল্পে নতুন (এবং এটি কখনও কখনও এমনকি আমাদের পুরানো টুপি ঘটবে)। সম্ভবত আপনি অতীতে যে প্রকল্পগুলিতে কাজ করেছেন সেগুলির প্রত্যাশা আলাদা। এটাও ঠিক আছে এবং প্রত্যাশিত! এর অর্থ এই নয় যে এই প্রকল্পগুলির মধ্যে একটিতে ভুল পদ্ধতি রয়েছে; তারা শুধু ভিন্ন. এই প্রকল্পে আমরা কী আশা করি তা জানার সুযোগ হিসাবে আমরা আপনাকে অন্যান্য সমস্ত পর্যালোচনা মন্তব্যের পাশাপাশি ইনফ্রা অনুরোধগুলি গ্রহণ করার জন্য আমন্ত্রণ জানাই।

"আমি কি ভবিষ্যতের জনসংযোগে আপনার মন্তব্যকে সম্বোধন করতে পারি?"

PR-এ পরিকাঠামো সংক্রান্ত অনুরোধ (বা অন্যান্য বড় অনুরোধ) সম্পর্কিত একটি ঘন ঘন প্রশ্ন হল মূল PR-এ পরিবর্তন করা আবশ্যক কি না, অথবা ভবিষ্যতে পিআর-এ ফলো-আপ হিসাবে করা যেতে পারে কিনা।

সাধারণভাবে, XLA PR লেখকদের একটি ফলো-আপ PR সহ পর্যালোচনা মন্তব্যগুলিকে সম্বোধন করার অনুমতি দেয় না। যখন একজন পর্যালোচক সিদ্ধান্ত নেন যে প্রদত্ত PR-এ কিছু সম্বোধন করা দরকার, তখন আমরা সাধারণত লেখকদের সেই PR-এ এটির সমাধান করার আশা করি, এমনকি যা অনুরোধ করা হয়েছে তা একটি বড় পরিবর্তন হলেও। এই স্ট্যান্ডার্ডটি Google-এর মধ্যে বাহ্যিক এবং অভ্যন্তরীণভাবে প্রযোজ্য।

XLA এই পদ্ধতিটি গ্রহণ করার কয়েকটি কারণ রয়েছে।

  • বিশ্বাস: পর্যালোচকের বিশ্বাস অর্জন করা একটি মূল উপাদান। একটি ওপেন-সোর্স প্রকল্পে, অবদানকারীরা উপস্থিত হতে পারে বা ইচ্ছামত অদৃশ্য হতে পারে। আমরা একটি PR অনুমোদন করার পরে, পর্যালোচকদের নিশ্চিত করার কোন উপায় নেই যে কোনও প্রতিশ্রুত ফলো-আপগুলি আসলেই সম্পন্ন হয়েছে।

  • অন্যান্য ডেভেলপারদের উপর প্রভাব: আপনি যদি XLA-এর একটি নির্দিষ্ট অংশ স্পর্শ করে একটি PR পাঠিয়ে থাকেন, তাহলে অন্য লোকেরা একই অংশটি দেখার একটি ভাল সুযোগ রয়েছে। আমরা যদি আপনার PR-এ প্রযুক্তিগত ঋণ গ্রহণ করি, তাহলে যারা এই ফাইলটি দেখছেন তারা প্রত্যেকেই এই ঋণ দ্বারা প্রভাবিত হবে যতক্ষণ না ফলো-আপ জমা দেওয়া হয়।

  • পর্যালোচক ব্যান্ডউইথ: ফলো-আপে পরিবর্তন স্থগিত করা আমাদের ইতিমধ্যেই ওভারলোড করা পর্যালোচনাকারীদের উপর একাধিক খরচ আরোপ করে। ফলো-আপের জন্য অপেক্ষা করার সময় পর্যালোচকরা সম্ভবত ভুলে যাবেন যে প্রথম পিআরটি কী ছিল, পরবর্তী পর্যালোচনাটিকে আরও কঠিন করে তোলে। এছাড়াও, পর্যালোচকদের প্রত্যাশিত ফলো-আপগুলির ট্র্যাক রাখতে হবে, নিশ্চিত করে যে সেগুলি আসলে ঘটে। যদি পরিবর্তনটি এমন করা যায় যে এটি প্রকৃত PR-এর সাথে সত্যিকার অর্থোগোনাল হয় যাতে অন্য কোনো পর্যালোচক এটি পর্যালোচনা করতে পারে, ব্যান্ডউইথের সমস্যা কম হবে। আমাদের অভিজ্ঞতায়, এটি খুব কমই ঘটে।