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

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -