গ্রাফ ভিউয়ার টুল
আপনি আপনার XLA প্রোগ্রামের গ্রাফ কাঠামোটি দেখার জন্য গ্রাফ ভিউয়ার ব্যবহার করতে পারেন। এটি হাই লেভেল অপারেশনস (HLO) গ্রাফ প্রদর্শন করে।

সমর্থিত প্ল্যাটফর্ম
টিপিইউ এবং জিপিইউ উভয়ই সমর্থিত।
ইন্টারফেস উপাদান
নিম্নলিখিত বিকল্পগুলির মাধ্যমে গ্রাফ ভিউয়ার নিয়ন্ত্রণ করা যায়:
একটি XLA মডিউল ড্রপডাউন মেনু, যেখান থেকে আপনি ভিজ্যুয়ালাইজেশনের জন্য উপলব্ধ তালিকা থেকে একটি HLO মডিউল বেছে নিতে পারেন।
একটি গ্রাফ টাইপ ড্রপডাউন মেনু, যেখান থেকে আপনি উপলব্ধ বিকল্পগুলির তালিকা থেকে গ্রাফের ধরন নির্বাচন করতে পারেন।
XLA Op Name বক্সে, আপনি কোনো অপারেশনের নাম লিখে সেটিকে প্রাথমিক নোড হিসেবে নির্বাচন করতে এবং তার প্রতিবেশীদের দেখতে পারেন। অপারেশনের নাম টাইপ করার পর এন্টার চাপলে আশেপাশের নোডগুলো দেখা যাবে।
একটি গ্রাফ প্রস্থ নির্বাচক, যা ভিজ্যুয়ালাইজেশনে অন্তর্ভুক্ত প্রধান নোড থেকে অন্যান্য নোডগুলির সর্বোচ্চ দূরত্ব নিয়ন্ত্রণ করে।
একটি ‘শো মেটাডেটা’ চেকবক্স, যা ব্যবহার করে কম্পাইলার দ্বারা অন্তর্ভুক্ত অপারেশন মেটাডেটা (যদি থাকে) প্রদর্শন চালু বা বন্ধ করা যায়। মনে রাখবেন, এই চেকবক্সটি নির্বাচন করার পর আপনাকে আবার “সার্চ গ্রাফ”-এ ক্লিক করতে হবে।
একটি ‘মার্জ ফিউশন’ চেকবক্স যা ব্যবহার করে আপনি ফিউজড অপস-এর উপাদানগুলোকে সংকুচিত বা প্রসারিত করতে পারবেন। মনে রাখবেন, এই চেকবক্সটি টগল করার পর আপনাকে আবার “সার্চ গ্রাফ”-এ ক্লিক করতে হবে।
জুম ইন/আউট/রিসেট বাটন বা কী ব্যবহার করা যায়, তবে আপনি মাউস ব্যবহার করেও জুম করতে পারেন।
সার্চ ফাংশন ব্যবহার করে, আপনি সম্ভাব্য বৃহৎ গ্রাফের মধ্যে নির্দিষ্ট অপারেশনগুলো দ্রুত খুঁজে বের করতে এবং সেগুলোর উপর মনোযোগ দিতে পারেন।
কোনো নির্দিষ্ট অপ-এ রানটাইম ডেটা প্যানেলটি স্থির করতে, অপ-টির উপর ক্লিক করুন।
XLA মডিউল ড্রপডাউনের পাশে থাকা ডাউনলোড/সেভ আইকনের মাধ্যমে HLO মডিউলটি .pb, .pbtxt, শর্ট টেক্সট এবং লং টেক্সট ফরম্যাটে ডাউনলোড করুন।
গ্রাফ উইন্ডোর নিচের লিঙ্কগুলো ব্যবহার করে গ্রাফটি SVG, HTML বা DOT ফাইল হিসেবে ডাউনলোড করুন।
গ্রাফটির সংক্ষিপ্ত বা দীর্ঘ HLO টেক্সট উপস্থাপনা বেছে নিতে ভিউয়ারের শীর্ষে থাকা ‘Check the HLO Full Text’ বোতামটি ক্লিক করুন, যা ডিবাগিংয়ের জন্য সহায়ক হতে পারে।

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

একটি বক্সের (যা একটি HLO অপারেশনকে নির্দেশ করে) উপর মাউস রাখলে, আপনি প্রায়শই আপনার ইউজার কোডের সেই লাইনটি দেখতে পাবেন যা ওই অপারেশনের সাথে সম্পর্কিত, যেখানে ফাংশনটি সংজ্ঞায়িত করা হয়েছিল। এই তথ্যটি কেবল তখনই পাওয়া যায়, যদি আপনার পাইথন প্রোগ্রামটি একটি অ্যাক্সিলারেটর এক্সিকিউটেবল তৈরি করার পথে যে একাধিক স্তরের রূপান্তরের মধ্য দিয়ে যায়, সেই প্রক্রিয়ার মাধ্যমে এই মেটাডেটা XProf-কে সরবরাহ করা হয়।

উল্লেখ্য যে, প্রোফাইলারটি একটি “অপ্টিমাইজড HLO” গ্রাফ থেকে HLO-স্তরের তথ্য গ্রহণ করে, যা কম্পাইলার ব্যাকএন্ড দ্বারা অ্যাক্সিলারেটর-নির্দিষ্ট কোডে রূপান্তরিত হওয়ার জন্য প্রায় প্রস্তুত থাকে। তাই, গ্রাফ ভিউয়ার এবং প্রকৃতপক্ষে সমস্ত XProf টুল, StableHLO বা ML ফ্রেমওয়ার্কের কাছাকাছি কোনো উপস্থাপনার পরিবর্তে, এই নিম্ন-স্তরের XLA-অভ্যন্তরীণ HLO উপস্থাপনাটিই পরিচালনা করে।
যদিও গ্রাফটি নিজেই সম্পূর্ণ স্থির এবং প্রোগ্রামটি না চালিয়েও সরাসরি XLA থেকে পাওয়া যায়, গ্রাফ ভিউয়ার গ্রাফটির উপর অতিরিক্ত রানটাইম তথ্য যুক্ত করে এটিকে আরও বেশি কার্যকর করে তোলে। উদাহরণস্বরূপ, কোনো একটি অপ-এর উপর মাউস রাখলে UI-এর বাম দিকে একটি অংশ ভেসে ওঠে, যেখানে দেখানো হয় প্রোফাইলের সময়কালে সেই অপ-টি কতবার চালানো হয়েছে এবং এর গড় এক্সিকিউশন টাইম কত ছিল। এটি বিভিন্ন ইউটিলাইজেশন এবং ব্যান্ডউইথের সংখ্যাও গণনা করে ও প্রদর্শন করে; এগুলি FLOPS এবং ব্যবহৃত বাইটের জন্য XLA থেকে স্থির কস্ট অ্যানালাইসিস গ্রহণ করে এবং পরিমাপ করা এক্সিকিউশন টাইমের উপর ভিত্তি করে একটি হার গণনা করে।