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

সমর্থিত প্ল্যাটফর্মগুলি
TPU এবং GPU উভয়ই সমর্থিত, বিটাতে GPU সমর্থন সহ।
ছাদরেখা চার্ট কি?
ছাদরেখার চার্টটি কার্যক্ষম তীব্রতা (প্রতি বাইট অ্যাক্সেস করা FLOPS) এবং প্রতি সেকেন্ডে অর্জিত FLOPS এর মধ্যে সম্পর্ক কল্পনা করে।
\[ Roofline = min(Operational Intensity \times Peak Memory Bandwidth, Peak FLOPS) \]
"ছাদের" আকৃতি তৈরি হয় পিক এফএলওপিএসের নিচের অংশ এবং মেমরি ব্যান্ডউইথ এবং অপারেশনাল তীব্রতার কারণে অর্জনযোগ্য কর্মক্ষমতা দ্বারা। রিজ পয়েন্টটি পিক এফএলওপিএস অর্জনের জন্য প্রয়োজনীয় ন্যূনতম অপারেশনাল তীব্রতা নির্দেশ করে।
আপনি রুফলাইন মডেল সম্পর্কে আরও জানতে পারবেন রুফলাইন: ফ্লোটিং-পয়েন্ট প্রোগ্রাম এবং মাল্টিকোর আর্কিটেকচারের জন্য একটি অন্তর্দৃষ্টিপূর্ণ ভিজ্যুয়াল পারফরম্যান্স মডেল , অথবা উইকিপিডিয়ার রুফলাইন মডেল বিষয়ে।
ছাদরেখার চার্ট ব্যাখ্যা করা
ছাদরেখা চার্টে বিভিন্ন ধাপ, প্রোগ্রামের অংশ, অথবা পৃথক HLO ক্রিয়াকলাপের জন্য কার্যক্ষম তীব্রতা এবং অর্জিত FLOPS প্লট করে, আপনি কর্মক্ষমতার বাধাগুলির অন্তর্দৃষ্টি অর্জন করতে পারেন:
- যদি কোনও ডেটা পয়েন্ট ছাদের লাইনের তির্যক অংশে থাকে, তাহলে কর্মক্ষমতা সম্ভবত মেমরি ব্যান্ডউইথ (মেমরি-বাউন্ড) দ্বারা সীমিত হবে। কার্যক্ষম তীব্রতা বৃদ্ধি (প্রতি বাইটে অ্যাক্সেস করা ডেটার আরও বেশি গণনা সম্পাদন) সম্ভাব্যভাবে কর্মক্ষমতা উন্নত করতে পারে।
- যদি কোনও ডেটা পয়েন্ট ছাদের লাইনের সমতল অংশে থাকে, তাহলে কর্মক্ষমতা সম্ভবত কম্পিউট ক্ষমতা (কম্পিউট-বাউন্ড) দ্বারা সীমিত হবে। এই ক্ষেত্রে, হার্ডওয়্যারের সর্বোচ্চ FLOPS আরও ভালভাবে ব্যবহার না করা পর্যন্ত আরও বর্ধিত কার্যক্ষমতা তীব্রতা উল্লেখযোগ্যভাবে বৃদ্ধি পেতে পারে না।
- ছাদরেখা থেকে ডেটা পয়েন্টের দূরত্ব কর্মক্ষমতা উন্নতির সম্ভাবনা নির্দেশ করে। আরও বেশি দূরত্ব নির্দেশ করে যে হার্ডওয়্যারের ক্ষমতাগুলিকে আরও ভালভাবে কাজে লাগানোর জন্য প্রোগ্রামটিকে অপ্টিমাইজ করার সুযোগ রয়েছে।
ইন্টারফেস উপাদান
রুফলাইন অ্যানালাইসিস টুল ইন্টারফেসের বেশ কয়েকটি মূল উপাদান রয়েছে:
- ডিভাইসের তথ্য : এই অংশে হার্ডওয়্যারের স্পেসিফিকেশন বর্ণনা করা হয়েছে; এগুলি চার্টে "ছাদের রেখা" স্থিরভাবে আঁকতে ব্যবহৃত হয়।
বিভাগ ১: প্রোগ্রাম-স্তরের বিশ্লেষণ:
- নিম্নলিখিতগুলির সাথে সম্পর্কিত ডেটা পয়েন্ট সহ একটি প্রোগ্রাম-স্তরের ছাদরেখা চার্ট:
- মোট প্রোফাইলের সময়কাল।
- মোট প্রোফাইল সময়কাল, কিন্তু XLA কম্পাইলার দ্বারা গণনা করা ডিফল্ট খরচ মডেলের পরিবর্তে হার্ডওয়্যার পারফরম্যান্স কাউন্টার থেকে প্রাপ্ত FLOPS/s ডেটা সহ।
- প্রোফাইল সময়কালে সম্পাদিত সম্পূর্ণ পদক্ষেপগুলির গড় (প্রশিক্ষণ কাজের জন্য; আপনি অনুমান কাজের জন্য ধাপের পরিভাষা উপেক্ষা করতে পারেন)।
- প্রোফাইল সময়কালে সম্পাদিত প্রতিটি সম্পূর্ণ পদক্ষেপ (প্রশিক্ষণ কাজের জন্য; আপনি অনুমান কাজের জন্য ধাপের পরিভাষা উপেক্ষা করতে পারেন)।
- ছাদরেখার চার্টেও নিম্নলিখিত বৈশিষ্ট্যগুলি রয়েছে:
- আপনি প্রদত্ত ড্রপ-ডাউন ব্যবহার করে ইনফিড/আউটফিড অপশন অন্তর্ভুক্ত বা বাদ দিতে পারেন।
- চার্টের যেকোনো ডেটা পয়েন্টের উপর ঘোরাফেরা করলে অতিরিক্ত প্রাসঙ্গিক তথ্য উঠে আসে যেমন বিভিন্ন স্মৃতির ব্যান্ডউইথ সংখ্যা, মোট ব্যয় করা সময় ইত্যাদি।
- একটি প্রোগ্রাম-স্তরের পরিসংখ্যান সারণী যা প্রতিটি ডেটা পয়েন্টের জন্য অতিরিক্ত বিশদ প্রদান করে, যেমন সর্বোচ্চ মেমরি ব্যবহার %, সর্বোচ্চ FLOP হার %, ইত্যাদি।

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

- প্রোগ্রাম-স্তরের টেবিলের অনুরূপ একটি দ্বিতীয় পরিসংখ্যান টেবিল, যা প্রতিটি ডেটা পয়েন্টের জন্য অতিরিক্ত বিবরণ প্রদান করে।
- প্রোফাইলিং সময়কালে শীর্ষ ১০০০ সর্বাধিক সময়সাপেক্ষ অপারেশনের জন্য ডেটা পয়েন্ট প্লট করে আরও সূক্ষ্ম তথ্য প্রদান করে দ্বিতীয় রুফলাইন চার্ট:
উপরে বর্ণিত সমস্ত বিভাগ জুড়ে, নিম্নলিখিত স্মৃতিগুলি সমর্থিত:
- TPU-এর জন্য: HBM, VMEM, CMEM (শুধুমাত্র TPU v4)।
- জিপিইউগুলির জন্য: এইচবিএম, এল১/শেয়ার্ডমেম।
- চার্টে সংশ্লিষ্ট লাইনগুলি কেবল তখনই প্রদর্শিত হবে যদি প্রোফাইল সময়কালের মধ্যে এমন কোনও অপশন থাকে যা সেই মেমরি দ্বারা আবদ্ধ থাকে। উদাহরণস্বরূপ, যদি সমস্ত অপশন HBM অথবা কম্পিউট বাউন্ড হয়, তাহলে আপনি VMEM বা CMEM এর জন্য লাইন দেখতে পাবেন না।