मैं एक उच्च अतुल्यकालिक संचार पैटर्न के साथ एक MPI एप्लिकेशन को अनुकूलित करने की कोशिश कर रहा हूं। प्रत्येक रैंक में गणना करने के लिए चीजों की एक सूची होती है, और यदि आवश्यक हो तो संदेश भेजता है यदि इनपुट या आउटपुट एक अलग रैंक पर रहते हैं। इसके अलावा, प्रत्येक रैंक थ्रेडेड है (वर्तमान में एक संचार थ्रेड और 5 श्रमिकों के साथ)।
मैंने कोड के विभिन्न प्रदर्शन महत्वपूर्ण भागों के आसपास टाइमर के साथ कोड लिख दिया है, जो मुझे प्रत्येक थ्रेड के लिए (प्रारंभ, अंत, प्रकार) त्रिकोणीय सूची देता है। स्पष्ट तरीके से प्लॉट किए गए, क्षैतिज अक्ष, रैंक और थ्रेड को ऊर्ध्वाधर के रूप में समय के साथ, और यह दर्शाता है कि प्रत्येक धागा वर्तमान में क्या कर रहा है, मुझे इस तरह की छवि मिलती है जैसे 6 धागे / रैंक के साथ 16 रैंक।
मेरा सवाल यह है: इस डेटा को देखने के अन्य तरीके क्या हैं जो प्रदर्शन के मुद्दों को कम करने में मदद कर सकते हैं? क्या किसी के पास एक पसंदीदा प्रकार का प्लॉट है जिसका उपयोग वे एसिंक्रोनस अनुप्रयोगों को प्रोफाइल करते समय करते हैं?
यह डेटा सेट सीमित है कि यह डेटाफ़्लो संरचना को नहीं जानता है, लेकिन मैं कुछ अधिक जटिल इकट्ठा करने की कोशिश करने से पहले इसके बारे में अधिक से अधिक जानकारी प्राप्त करना चाहता हूं।
यदि कोई भी व्यक्ति चारों ओर देखना चाहता है, तो यह असम्बद्ध छवि यहाँ है (यह सामान्य मार्ग से अपलोड करने में विफल रहा)। दुर्भाग्य से, फ़ायरफ़ॉक्स इसे स्वीकार नहीं करता, भले ही मेरा मानना है कि यह मान्य है, संभवतः क्योंकि यह बस बहुत बड़ा है।