मैं अपने ओपनसीएल कर्नेल को अनुकूलित करने की कोशिश कर रहा हूं और मेरे पास अभी एनवीडिया विजुअल प्रोफाइलर है, जो कि बाध्य लगता है। मैं coalescing के साथ मुद्दों को बेहतर ढंग से समझने के लिए कर्नेल के लाइन-बाय-लाइन प्रोफाइल देखना चाहता हूं। क्या विजुअल प्रोफाइलर द्वारा प्रदान किए गए एक से अधिक व्यापक प्रोफाइलिंग डेटा प्राप्त करने का कोई तरीका है?प्रोफाइलिंग ओपनसीएल कर्नेल
उत्तर
नहीं, ऐसा कोई उपकरण नहीं है लेकिन आप अपने कोड परिवर्तनों को प्रोफाइल कर सकते हैं। अपने कोड की गति को मापने का प्रयास करें, कुछ बदलें और फिर इसे एक बार फिर मापें। clEnqueueNDRange कर्नेल में एक इवेंट तर्क है जिसका उपयोग clGetEventProfilingInfo के साथ किया जा सकता है, टाइमर बहुत तेज है, सटीकता को माइक्रोसेकंड के क्रम में मापा जाता है। एक अलग कोड भाग के प्रदर्शन को मापने का यही एकमात्र तरीका है ...
मैंने इसका परीक्षण नहीं किया है, लेकिन मुझे अभी यह प्रोग्राम http://www.gremedy.com/gDEBuggerCL.php मिला है। विवरण यह है: "यह नया उत्पाद ओडीसीएल डेवलपर की दुनिया में जीडीईबगर की उन्नत डिबगिंग, प्रोफाइलिंग और मेमोरी विश्लेषण क्षमताओं को लाता है ..."
LTPV is an open-source, OpenCL profiler जो आपकी आवश्यकताओं के अनुरूप हो सकता है। यह अभी के लिए, केवल लिनक्स के तहत काम कर रहा है।
(प्रकटीकरण: मैं इस उपकरण डेवलपर हूं)
मुझे लगता है कि एएमडी CodeXL आप के लिए क्या देख रहे है। यह टूल्स का एक मुफ्त सेट है जिसमें ओपनसीएल डीबगर और एक जीपीयू प्रोफाइलर है। ओपनसीएल डीबगर आपको अपने ओपनसीएल कर्नेल और होस्ट कोड के लाइन-बाय-लाइन डिबगिंग करने की अनुमति देता है, विभिन्न वर्क ग्रुप में सभी चर देखें, विशेष घटनाओं और त्रुटियों को देखते हुए इत्यादि देखें। जीपीयू प्रोफाइलर की एक अच्छी सुविधा है जो उत्पन्न करती है एक समयरेखा प्रदर्शित करता है कि आपका प्रोग्राम डेटा स्थानांतरण और कर्नेल निष्पादन जैसे कार्यों पर कितना समय व्यतीत करता है।
अधिक जानकारी और डाउनलोड लिंक के लिए, बाहर की जाँच http://developer.amd.com/tools-and-sdks/heterogeneous-computing/codexl/
- 1. ओपनसीएल कर्नेल
- 2. किसी अन्य ओपनसीएल कर्नेल
- 3. बड़े ओपनसीएल कर्नेल का निर्माण कैसे करें?
- 4. ओपनसीएल: CL_MEM_USE_HOST_PTR
- 5. ओपनसीएल कर्नेल के अंदर "memcpy" को प्रतिस्थापित करना चाहिए?
- 6. ओपनसीएल कर्नेल को बिटस्ट्रीम में कैसे संकलित करें?
- 7. ओपनसीएल
- 8. ओपनसीएल
- 9. ओपनसीएल
- 10. ओपनसीएल
- 11. ओपनसीएल
- 12. ओपनसीएल
- 13. ओपनसीएल
- 14. ओपनसीएल
- 15. ओपनसीएल प्रदर्शन अनुकूलन
- 16. ओपनसीएल घटनाक्रम और कमांड कतार
- 17. ओपनसीएल में मेमोरी प्रबंधन
- 18. ओपनसीएल एएमडी बनाम एनवीआईडीआईए प्रदर्शन
- 19. ओपनसीएल + एनवीडिया
- 20. ओपनसीएल संरचना तर्क अमान्य पता स्थान
- 21. प्रोफाइलिंग अवधारणाएं प्रोफाइलिंग के लिए उपयोगी हैं?
- 22. ग्राफिक्स प्रोफाइलिंग
- 23. प्रोफाइलिंग सी ++?
- 24. प्रोफाइलिंग उपकरण?
- 25. प्रोफाइलिंग मेवेन
- 26. मुझे कैसे पता चलेगा कि मेरा ओपनसीएल कर्नेल GPU पर चल रहा है?
- 27. ओपनसीएल - क्या कर्नेल के भीतर से किसी अन्य फ़ंक्शन को आमंत्रित करना संभव है?
- 28. मैं एक्सकोड 4.1 में ओपनसीएल कर्नेल को कैसे डिबग कर सकता हूं?
- 29. क्या एएमडी ओपनसीएल कर्नेल में कंपाइलर के साथ लूप को अनलॉक करने का कोई तरीका है?
- 30. ओपनसीएल कर्नेल को सी ++ वैक्टर पास करने और एक्सेस करने के लिए कैसे?
OpenXL - GPUOPEN केवल एएमडी प्रोसेसर के लिए काम करता है, जो कई उपयोगकर्ताओं – TripleS
के लिए एक प्रमुख सीमा मुझे लगता है कि आप दो अलग अलग मामले मिश्रण कर रहे हैं: CodeXL एक उपकरण सूट है एएमडी द्वारा, और उन उत्पादों में से एक है जो एएमडी की जीपीयू ओपन पहल के हिस्से के रूप में खुले हुए थे। मुझे लगता है कि इस पहल का पूरा उद्देश्य उद्योग में डेवलपर्स और अन्य खिलाड़ियों को इन उपकरणों का विस्तार करने की अनुमति देना था, ताकि वे अतिरिक्त प्लेटफार्मों का समर्थन करेंगे। – AmitB