c++ - Matrix transposing cache optimization -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 8 जवाब
आप मैट्रिक्स traspotion का प्रयोग कैसे करेंगे के लिए इस कोड को अनुकूलित करने के लिए
के लिए (int i = 0; i & lt; SIZE; i ++) {for (int j = 0; j & lt; SIZE; j ++) { dest [i] [j] = src [j] [i]; }}
आपको यह ठीक ढंग से करने के लिए मशीन आर्किटेक्चर के बारे में जानना होगा। लेकिन मूल रूप से आप आम तौर पर एन -1 थ्रेड्स के बीच काम को विभाजित करना चाहते हैं (एन उपलब्ध सूत्रों की संख्या है और मुख्य प्रबंधक थ्रेड के लिए एक दूर ले) जहां मेमोरी के ब्लॉकों को पढ़ने / लिखने का उपयोग प्रत्येक थ्रेड के लिए संरेखित कैश-लाइन आकारों में तोड़ दिया जाता है, ताकि थ्रेड्स स्मृति-स्मृति पर सामान्य-स्मृति हिट पर नहीं लड़ते।
Comments
Post a Comment