कुछ कार्यक्रमों के लिए (केवल एक नहीं) मैं देखता हूं कि अधिकांश कर्नेल के लिए, कैश उपयोग (एल 2 और एकीकृत) कम हैं (1 से 10 के पैमाने में 3 तक)। कार्यक्रम खिलौना और सरल नहीं हैं। क्या यह सामान्य है? डिवाइस M2000 है।

मैं जानना चाहता हूं कि कैश उपयोग कैसे मापा जाता है? मुझे दस्तावेजों में इसके बारे में कोई स्पष्टीकरण नहीं मिला।

1
mahmood 14 मई 2019, 21:39

1 उत्तर

सबसे बढ़िया उत्तर

यदि कर्नेल किसी अन्य कारक द्वारा सीमित है, जैसे कि कंप्यूट या मेमोरी बाउंड, तो कैश का उपयोग कम होना सामान्य है। कैश उपयोग वास्तव में उच्च (7 या उच्चतर) प्राप्त करने का एकमात्र तरीका उस कैश में बहुत अधिक डेटा पुन: उपयोग करना है।

कैश उपयोग को पीक कैश बैंडविड्थ के प्रतिशत (0 से 10, 10 100% होने के कारण) के रूप में मापा जाना चाहिए (जाहिरा तौर पर कुछ सामान्यीकरण)।

अक्सर (GPU द्वारा भिन्न होगा, और स्पष्ट रूप से प्रकाशित नहीं होगा) उपलब्ध L2 कैश बैंडविड्थ लगभग 2x या अधिक उपलब्ध मेमोरी (यानी GPU DRAM) बैंडविड्थ है। इसलिए, इस मीट्रिक पर 5 से ऊपर की रीडिंग प्राप्त करने के लिए, आपके कोड में डेटा बैंडविड्थ जैसा कि L2 में देखा गया है, मेमोरी बैंडविड्थ से अधिक होना चाहिए। यह आमतौर पर डेटा पुन: उपयोग का तात्पर्य है।

इसका पता लगाने के लिए एक परीक्षण माइक्रोबेंचमार्क लिखना संभव होना चाहिए।

4
Robert Crovella 14 मई 2019, 20:50