पहले PTX के बारे में बनाने के लिए मुद्दा यह है कि यह केवल एक मध्यवर्ती GPU पर चलते हैं कोड का प्रतिनिधित्व है। पीटीएक्स संकलित समय पर, या रनटाइम पर ड्राइवर द्वारा ptxas
द्वारा मशीन कोड को लक्षित करने के लिए इकट्ठा किया जाता है। तो जब आप पीटीएक्स को देख रहे हों, तो आप देख रहे हैं कि कंपाइलर क्या उत्सर्जित करता है, लेकिन जीपीयू वास्तव में क्या चल रहा है इस पर नहीं। स्क्रैच से या तो अपने स्वयं के पीटीएक्स कोड को लिखना भी संभव है (यह सीयूडीए में समर्थित एकमात्र जेआईटी संकलन मॉडल है), या सीयूडीए सी कोड में इनलाइन-असेंबलर सेक्शन के हिस्से के रूप में (बाद में आधिकारिक तौर पर क्यूडीए 4.0 के बाद से समर्थित है, लेकिन " अनौपचारिक रूप से "उस से काफी लंबे समय तक समर्थित)। CUDA हमेशा टूलकिट के साथ पीटीएक्स भाषा के लिए एक पूर्ण गाइड के साथ भेज दिया गया है, और यह पूरी तरह से प्रलेखित है। ocelot project अपने स्वयं के PTX पार संकलक, जो CUDA कोड अन्य हार्डवेयर पर मूल रूप से चलाने के लिए अनुमति देता है लागू करने के लिए इस दस्तावेज़ का इस्तेमाल किया गया, शुरू में प्रोसेसर x86, लेकिन हाल ही में एएमडी GPUs।
आप क्या GPU वास्तव में (के रूप में क्या संकलक उत्सर्जित करती है के खिलाफ) चल रहा है देखने के लिए चाहते हैं, NVIDIA अब जो कोड में वास्तविक मशीन कोड खंडों फर्मी GPUs के लिए संकलित दिखा सकते हैं cudaobjdump
कहा जाता है एक द्विआधारी disassembler उपकरण की आपूर्ति। decuda
नामक एक पुराना, अनौपचारिक उपकरण था जो जी 80 और जी 0 9 जीपीयू के लिए काम करता था।
कहा करने के बाद, वहाँ विशेष रूप से पर एक बहुत PTX उत्पादन, से सीखा जा रहा है कि कैसे संकलक अनुकूलन आवेदन कर रहा है और क्या निर्देश यह निश्चित सी contructs लागू करने के लिए उत्सर्जित करती है। NVIDIA CUDA टूलकिट का प्रत्येक संस्करण a guide to nvcc
और documentation for the PTX language के साथ आता है। पीटीएक्स को सीयूडीए सी/सी ++ कर्नेल कोड को संकलित करने और पीटीएक्स निर्देशों को क्या समझने के लिए दोनों दस्तावेज़ों में दोनों दस्तावेजों में निहित बहुत सारी जानकारी है।
आप बाइनरी कोड एकत्रित न कर सकते हैं। IMO आप, देखने में पड़ने से बचने के लिए चाहिए "मैंने सोचा कि यह अनुकूलन होता है कि" जाल के प्रकार और आप वास्तव में क्या कर रहे हैं जब आप एक गिरी अनुकूलित कर रहे देखने के लिए सक्षम किया जा रहा है। – harold