HLO অপ পরিসংখ্যান টুল
একটি প্রোফাইলিং সেশনের সময় সম্পাদিত হাই লেভেল অপ্টিমাইজার (HLO) অপারেশনের কর্মক্ষমতা পরিসংখ্যান দেখতে আপনি HLO Op Stats ব্যবহার করতে পারেন। প্রোফাইল করা সময়ের মধ্যে আপনার এইচএলও গ্রাফের মধ্যে সর্বাধিক সময়সাপেক্ষ ক্রিয়াকলাপগুলি হাইলাইট করে কর্মক্ষমতা অপ্টিমাইজেশনের সম্ভাব্য লক্ষ্যগুলি সনাক্ত করার জন্য এই সরঞ্জামটি মূল্যবান।
সমর্থিত প্ল্যাটফর্ম
TPU: সমর্থিত
GPU: সমর্থিত
GPU-এর জন্য, HLO ops-এর কার্নেলের সাথে N:M সম্পর্ক থাকে যেগুলি আসলে কার্যকর করা হয়। কার্নেল স্তরে পরিসংখ্যানের জন্য, GPU কার্নেল পরিসংখ্যান টুলটি দেখুন।
HLO অপ পরিসংখ্যান টুল উপাদান
HLO Op Stats টুলে নিম্নলিখিত মূল উপাদান রয়েছে:
- HLO অপারেশন পরিসংখ্যান টেবিল: এটি প্রাথমিক উপাদান, একটি সারণী বিন্যাসে প্রোফাইলিং সেশনের সময় সম্পাদিত প্রতিটি HLO অপারেশনের একটি বিশদ বিভাজন উপস্থাপন করে। প্রতিটি স্বতন্ত্র এইচএলও অপারেশনের জন্য একটি সারি রয়েছে এবং কলামগুলি সেই অপারেশন সম্পর্কিত বিভিন্ন বিবরণ ক্যাপচার করে।
- একটি ড্রপ-ডাউন নির্বাচক আপনাকে সিদ্ধান্ত নিতে দেয় যে আপনি প্রতিটি HLO অপের জন্য কোন কলামগুলি কল্পনা করতে চান৷
- আপনি দ্বিতীয় ড্রপ-ডাউন নির্বাচকের মাধ্যমে HLO Op বিভাগ দ্বারা সারিগুলি ফিল্টার করতে পারেন।
- অনুসন্ধান বাক্সগুলি আপনাকে নির্দিষ্ট প্রোগ্রাম আইডি, এইচএলও অপস, এইচএলও অপ টেক্সট, বা ফ্রেমওয়ার্ক অপের নাম দ্বারা ফিল্টার করতে দেয়; ফিল্টারগুলি সংশ্লিষ্ট কলামের মধ্যে যে কোনও জায়গায় উপস্থিত প্রদত্ত স্ট্রিংয়ের জন্য নির্বাচন করে।
- সংক্ষিপ্ত চার্ট বিভাগ: এই বিভাগে চার্ট রয়েছে যা নিম্নলিখিত উপায়ে বিশদ প্রতি-অপ টেবিলের সংক্ষিপ্তসার করে:
- একটি পাই চার্ট যা HLO অপ্সের বিভিন্ন বিভাগ দ্বারা ব্যবহৃত সময়ের ভগ্নাংশ দেখায়।
- একটি পাই চার্ট যা বিভিন্ন পৃথক এইচএলও অপ্স দ্বারা ব্যয় করা সময়ের ভগ্নাংশ দেখায় (পঠনযোগ্যতা উন্নত করার জন্য বাকিগুলিকে "অন্যান্য" হিসাবে শ্রেণীবদ্ধ করে শীর্ষ-এন অপ্সে ছেঁটে দেওয়া হয়)।
- একটি পাই চার্ট যা রিমেটেরিয়ালাইজেশনের অংশ এমন অপ্সগুলিতে ব্যয় করা মোট সময়ের ভগ্নাংশ দেখায়; XProf প্রোফাইলের সাথে যুক্ত কম্পাইলার মেটাডেটা থেকে এই তথ্য পায়।
- একটি পাই চার্ট যা HLO অপের বিভাগগুলি দেখায় যেখানে রিমেটেরিয়ালাইজেশন সময় (যদি থাকে) যায়৷
- বাইরের সংকলনে ব্যয় করা সময়: বাইরের সংকলন হল একটি টেনসরফ্লো বৈশিষ্ট্য যা এক্সলারেটর ডিভাইসের পরিবর্তে হোস্ট সিপিইউতে স্বচ্ছভাবে চালানোর জন্য এক্সএলএ কম্পিউটেশনের মধ্যে নির্দিষ্ট কিছু অপারেশনকে সক্ষম করে (যেমন, tf.summary বা tf.print যার জন্য I/O অ্যাক্সেস প্রয়োজন যা ডিভাইসের নেই)।
- সমস্ত HLO ক্রিয়াকলাপের জন্য GFLOPS/s প্লট করা একটি চার্ট, মোট স্ব-সময় অনুসারে অর্ডার করা।
- শুধুমাত্র TPU-এর জন্য, প্রতি এইচএলও প্রতি রেপ্লিকা গ্রুপের সময়: একটি ড্রপ ডাউন আপনাকে প্রোফাইলিং সেশনের সময় সম্পাদিত বিভিন্ন যৌথ ক্রিয়াকলাপ থেকে বাছাই করতে দেয়। সেই সমষ্টিগত অপের বিভিন্ন দৃষ্টান্ত বিভিন্ন প্রতিরূপ গোষ্ঠীর মধ্যে কার্যকর করা হতে পারে (যেমন, AllGather ); একটি পাই চার্ট এই বিভিন্ন উদাহরণের মধ্যে সময়ের বন্টন দেখায়।
HLO অপারেশন পরিসংখ্যান টেবিল বিশদ
আপনি HLO অপারেশন পরিসংখ্যান টেবিল সাজানোর জন্য কলাম শিরোনাম যে কোনো ক্লিক করতে পারেন. ডিফল্ট অর্ডারটি অপের মোট স্ব সময়ের উপর ভিত্তি করে (সারণীতে "র্যাঙ্ক" লেবেল করা হয়েছে)।
টেবিলে প্রতিটি HLO অপারেশনের জন্য নিম্নলিখিত তথ্য রয়েছে:
- অপারেশনের নাম: XLA কম্পাইলার দ্বারা HLO অপারেশনের জন্য নির্ধারিত অনন্য নাম।
- প্রোগ্রাম আইডি: HLO মডিউলের জন্য একটি শনাক্তকারী এই অপের সাথে যুক্ত
- এইচএলও অপ বিভাগ: এগুলি মূলত XLA কম্পাইলার দ্বারা সংজ্ঞায়িত করা হয়; XProf অতিরিক্তভাবে কিছু ক্রিয়াকলাপ সনাক্ত করতে এবং শ্রেণীবদ্ধ করতে হিউরিস্টিক নিয়োগ করে (যেমন, কনভোলিউশন ফিউশন)।
- এইচএলও অপ টেক্সট: এক্সএলএ কম্পাইলার দ্বারা প্রদত্ত, এবং ইনপুট/প্যারামিটারের ধরন এবং আকারের মতো বিবরণ অন্তর্ভুক্ত করে।
- ফ্রেমওয়ার্ক অপের নাম: ফ্রেমওয়ার্ক লেভেলে অপারেশন (যেমন, JAX) যার ফলে এই HLO op তৈরি হয়েছে।
- ঘটনা: প্রোফাইলিং সময়কালে এই নির্দিষ্ট HLO অপারেশনটি মোট কতবার সম্পাদিত হয়েছিল।
- মোট সময় (μs): এই ক্রিয়াকলাপটি এর সমস্ত ঘটনা জুড়ে কার্যকর করার জন্য ব্যয় করা ক্রমবর্ধমান সময়৷ যদি এই অপারেশনে কোনো শিশুর অপারেশন থাকে (যেমন, একটি ফিউশনের মধ্যে), এই সময়টি সেই শিশুদের মধ্যে কাটানো সময় অন্তর্ভুক্ত করে।
- গড় সময় (μs): এই এইচএলও অপারেশনের প্রতি নির্বাহের গড় সময়, শিশুদের অপারেশনে ব্যয় করা যেকোন সময় সহ, যদি থাকে।
- টোটাল সেল্ফ টাইম (μs): এই HLO অপারেশনের মূল অংশের মধ্যেই ব্যয় করা ক্রমবর্ধমান সময়, এর বাচ্চাদের অপারেশনে যে কোনো সময় ব্যয় করা বাদ দিয়ে।
- গড় সেল্ফ টাইম (μs): এই HLO অপারেশনের প্রতি নির্বাহের গড় সময়, এর বাচ্চাদের অপারেশনে ব্যয় করা যেকোনো সময় বাদ দিয়ে।
- মোট সেলফ টাইম (%): সমস্ত অপারেশন জুড়ে ডিভাইসে মোট সময়ের শতাংশ হিসাবে অপের স্বয়ং-সময়।
- ক্রমবর্ধমান মোট স্ব-সময় (%): "র্যাঙ্ক" ক্রমে আগে প্রদর্শিত সমস্ত অপারেশনের জন্য মোট স্ব-সময়ের একটি চলমান যোগফল (%)।
- DMA স্টল (%): ডাইরেক্ট মেমরি অ্যাক্সেস (DMA) অপারেশনের কারণে অপারেশন স্থগিত হওয়া মোট সময়ের শতাংশ।
- FLOPs, HBM, এবং অভ্যন্তরীণ TPU মেমরির জন্য ব্যান্ডউইথ খরচ (ব্যবহার/সেকেন্ড) যদি উপলব্ধ থাকে (যেমন, CMEM শুধুমাত্র TPU v4 এ উপস্থিত থাকে)। এগুলি সবই কম্পাইলারের স্ট্যাটিক কস্ট অ্যানালাইসিস (অঙ্ক) এবং প্রোফাইল করা এক্সিকিউশন টাইম (ডিনোমিনেটর) ব্যবহার করে গণনা করা হয়।
- মডেল GFLOPS/s: GFLOPs খরচ XLA কম্পাইলার দ্বারা গণনা করা হয়, এবং সময় প্রোফাইল দ্বারা পরিমাপ করা হয়।
- সাধারনকৃত GFLOPS/s: কম্পাইলার-কম্পিউটেড FLOP গুলিকে সাংখ্যিক নির্ভুলতার উপর ভিত্তি করে এবং বিভিন্ন নির্ভুলতার জন্য ডিভাইস দ্বারা সমর্থিত পিক FLOP গুলিকে স্বাভাবিক করে। উদাহরণস্বরূপ, TPU v6e int8 এ bf16 এর তুলনায় দ্বিগুণ পিক FLOP সমর্থন করে; XProf ডিফল্টরূপে bf16 তে স্বাভাবিক করে।
- মেমরি BW: যে কোনো মেমরি (যেমন, অন-চিপ TPU VMEM এবং HBM) থেকে অপের দ্বারা ব্যবহৃত বাইট/সেকেন্ডের সংখ্যা। XLA কম্পাইলার "বাইট" নম্বর প্রদান করে এবং সময়কাল প্রোফাইলে পরিমাপ করা হয়।
- HBM BW: HBM থেকে বিশেষভাবে ব্যবহৃত বাইটের সংখ্যা।
- কার্যক্ষম তীব্রতা: ছাদ লাইন বিশ্লেষণের জন্য সংজ্ঞায়িত হিসাবে প্রতি বাইটে FLOPS এর অনুপাত হিসাবে গণনা করা হয়।
- কম্পিউট/মেমরি বাউন্ড: রুফলাইন মডেলের উপর ভিত্তি করে, এই কলামটি নির্দেশ করে যে অপারেশনের কর্মক্ষমতা প্রাথমিকভাবে কম্পিউট ক্ষমতা বা মেমরি ব্যান্ডউইথ দ্বারা সীমাবদ্ধ কিনা।
- রিমেটেরিয়ালাইজেশন: অপটি রিমেটেরিয়ালাইজেশনের অংশ ছিল কিনা তা নির্দেশ করে।
- বাইরের সংকলন: টেনসরফ্লো-এর বাইরের সংকলন সুবিধা ব্যবহার করে হোস্ট সিপিইউতে অপটি চালানো হয়েছে কিনা তা নির্দেশ করে।
- অটোটিউনড: XLA দ্বারা অপটি অটো-টিউন করা হয়েছে কিনা তা নির্দেশ করে। আরও তথ্যের জন্য, অটোটিউনিং এবং স্থায়ী অটোটিউনিং দেখুন।