ग्राफ़ व्यूअर टूल
अपने XLA प्रोग्राम के ग्राफ़ स्ट्रक्चर को विज़ुअलाइज़ करने के लिए, ग्राफ़ व्यूअर का इस्तेमाल किया जा सकता है. यह हाई लेवल ऑपरेशंस (एचएलओ) ग्राफ़ दिखाता है.
इन प्लैटफ़ॉर्म पर काम करता है
TPU: काम करता है
जीपीयू: काम करता है
इंटरफ़ेस कॉम्पोनेंट
ग्राफ़ व्यूअर को इन विकल्पों से कंट्रोल किया जा सकता है:
'एक्सएलए मॉड्यूल चुनें' ड्रॉपडाउन मेन्यू, जिसमें विज़ुअलाइज़ेशन के लिए उपलब्ध सूची से एचएलओ मॉड्यूल चुना जा सकता है.
ऑपरेशन का नाम बॉक्स, जहां किसी ऑपरेशन का नाम डालकर उसे प्राइमरी नोड के तौर पर चुना जाता है और उसके आस-पास के नोड को विज़ुअलाइज़ किया जाता है. ऑपरेशन का नाम टाइप करने के बाद, Enter दबाने पर आस-पास के नोड दिखेंगे.
ग्राफ़ की चौड़ाई चुनने वाला टूल, जो विज़ुअलाइज़ेशन में शामिल प्राइमरी नोड से नोड की ज़्यादा से ज़्यादा दूरी को कंट्रोल करता है.
मेटाडेटा सिलेक्टर, जिसका इस्तेमाल, अगर कोई हो, तो कंपाइलर के शामिल किए गए ऑपरेशन मेटाडेटा के डिसप्ले को टॉगल करने के लिए किया जाता है. ध्यान दें कि इस चेकबॉक्स को चुनने के बाद, आपको “Search Graph” पर फिर से क्लिक करना होगा.
मर्ज फ़्यूज़न चेकबॉक्स, जिसका इस्तेमाल फ़्यूज़ किए गए ऑपरेशन के कॉम्पोनेंट को छोटा या बड़ा करने के लिए किया जा सकता है. ध्यान दें कि इस चेकबॉक्स को टॉगल करने के बाद, आपको फिर से “Search Graph” पर क्लिक करना होगा.
ज़ूम इन/आउट करने के बटन या बटन. हालांकि, ज़ूम करने के लिए माउस का भी इस्तेमाल किया जा सकता है.
ग्राफ़ को SVG या बिंदु वाली फ़ाइलों के तौर पर डाउनलोड करने के लिंक.
खोज की सुविधा का इस्तेमाल करके, बड़े ग्राफ़ में किसी खास ऑपरेशन को तुरंत ढूंढा और उस पर फ़ोकस किया जा सकता है.
किसी खास ऑपरेशन पर रनटाइम डेटा पैनल को फ़्रीज़ करने के लिए, उस ऑपरेशन पर दायां क्लिक करें.
ग्राफ़ व्यूअर का इस्तेमाल करना
डिफ़ॉल्ट रूप से, ग्राफ़ व्यूअर में कोई भी कार्रवाई नहीं चुनी जाती है. इसलिए, आपको एक खाली स्क्रीन दिखेगी. अपनी पसंद का ऑपरेशन खोजें और उस पर ज़ूम इन करें. इसके बाद, ग्राफ़ पर जाएं. अक्सर, किसी दूसरे टूल से शुरुआत की जाती है. जैसे, सबसे ज़्यादा समय लेने वाले ऑपरेशन की पहचान करने के लिए ऑपरेशन प्रोफ़ाइल या पाइपलाइन बबल की वजह की पहचान करने के लिए ट्रेस व्यूअर. उन टूल में ऑपरेशन पर क्लिक करने से, आपको ग्राफ़ व्यूअर में उसी ऑपरेशन का सीधा लिंक मिलेगा.
किसी बॉक्स (एचएलओ ऑपरेशन को दिखाने वाले) पर कर्सर घुमाने पर, आपको अक्सर उस ऑपरेशन से जुड़े उपयोगकर्ता कोड की लाइन दिख सकती है जहां फ़ंक्शन को परिभाषित किया गया था. यह जानकारी सिर्फ़ तब उपलब्ध होती है, जब यह मेटाडेटा, XProf को अलग-अलग लेयर में ट्रांसफ़ॉर्मेशन के ज़रिए दिया जाता है. यह ट्रांसफ़ॉर्मेशन, आपके Python प्रोग्राम के ऐक्सेलरेटर को जनरेट करने के दौरान होता है.
ध्यान दें कि प्रोफ़ाइलर को “ऑप्टिमाइज़ किए गए एचएलओ” ग्राफ़ से एचएलओ-लेवल की जानकारी मिलती है. यह जानकारी उस समय मिलती है, जब कंपाइलर बैकएंड, एचएलओ को ऐक्सेलरेटर के हिसाब से कोड में बदलने के लिए तैयार होता है. इसलिए, ग्राफ़ व्यूअर और सभी XProf टूल, StableHLO या ML फ़्रेमवर्क के करीब के रिप्रज़ेंटेशन के बजाय, XLA के अंदर मौजूद इस लो-लेवल HLO रिप्रज़ेंटेशन को मैनेज करते हैं.
ग्राफ़ पूरी तरह से स्टैटिक होता है और प्रोग्राम को चलाए बिना भी, सीधे XLA से हासिल किया जाता है. हालांकि, ग्राफ़ व्यूअर, ग्राफ़ को ज़्यादा काम का बनाने के लिए, उस पर रनटाइम की अतिरिक्त जानकारी ओवरले करता है. उदाहरण के लिए, किसी ऑपरेशन पर कर्सर घुमाने पर, यूज़र इंटरफ़ेस (यूआई) की बाईं ओर एक सेक्शन दिखता है. इससे पता चलता है कि प्रोफ़ाइल के दौरान उस ऑपरेशन को कितनी बार चलाया गया और उसे चलाने में औसतन कितना समय लगा. यह इस्तेमाल और बैंडविड्थ की अलग-अलग संख्याओं का हिसाब लगाता है और उन्हें दिखाता है. ये संख्याएं, XLA से FLOPS और इस्तेमाल किए गए बाइट के लिए स्टैटिक लागत का विश्लेषण करती हैं. साथ ही, मेज़र किए गए एक्सीक्यूशन टाइम के आधार पर दर का हिसाब लगाती हैं.