मैं सी/सी से परिचित हूँ ++ और विधानसभा x86/x64 भाषा, लेकिन अब मैं ग्राफिक अनुकूलन (SSE/SSE2 और सामान्य रूप में एएसएम अनुकूलन), क्या संसाधनों/पुस्तकों/लिंक अध्ययन करने की जरूरत क्या मैं इन विषयों को जानने के लिए उपयोग कर सकता हूं? मैं बहुत किस्मत में जाल पर खोज कर रहा हैलर्निंग SSE/SSE2 और एएसएम अनुकूलन
उत्तर
मार्को, नीचे
तीन बिंदु प्रतिक्रिया:
- आप त्वरित चाल का एक सेट में जानने के लिए चाहते हैं, तो किताबें सामान्य शीर्षकों के अंतर्गत उपलब्ध हैं एल्गोरिदमिक पहेली के। निम्नलिखित दो मैंने आपके कौशल को बढ़ाने के लिए उत्कृष्ट चुनौती सेट का उपयोग किया है और प्रदान किया है। Book1 कुछ बहुत ही रोचक चाल का संग्रह है। मैंने यह भी Book2 का आनंद लिया।
प्रोफेसर एग्नेर की पोस्ट मुझे लगता है कि इस विषय पर अंतिम शब्द है और उन्हें पढ़ना आवश्यक है।
आप कैसे अनुकूलन, या 64 बिट अनुदेश सेट का उपयोग करने की बारीकियों की मांग कर रहे हैं - मेरे अनुभव किया गया है इंटेल मैनुअल खंड 2 काम रखने के लिए है। आप इस मंच में एक विशिष्ट प्रश्न उठा सकते हैं और कुछ उत्कृष्ट समाधान प्राप्त कर सकते हैं। यदि आप थोड़ा और बुनियादी स्तर पर शुरू करना चाहते हैं, तो व्हाट्सएरेल द्वारा यूट्यूब ट्यूटोरियल का एक उत्कृष्ट सेट है - कवरेज और स्पष्टीकरण शानदार हैं। वह आपको एवीएक्स/एवीएक्स 2 पर मूलभूत बातें से शुरू होने वाले 60 विषम सत्रों पर सेट करता है।
मैं एक पेशेवर प्रोग्रामर नहीं हूं - मैं व्यवसाय प्रबंधन पेशेवर हूं, लेकिन अकादमिक संस्थानों/लोगों के लिए 64 बिट असेंबली भाषा कोड लिखना जिनके पीएचडी इस समय/मेरे खाली समय में अटक गए हैं या पीड़ित हैं। मुझे लगता है कि x64 बेहद शक्तिशाली, खूबसूरती से कॉम्पैक्ट है, और क्या कोई भी भाषा कोशिश नहीं कर सकती है और करता है। तो, अगर किसी को भी, 64 लेखन में जटिलता का हवाला देते हुए, या जो कुछ भी करने से हतोत्साहित करने के लिए कोशिश कर रहा है, उन्हें अपनी पसंद के किसी भी :-) संकलक द्वारा उत्पन्न कोड का एक disassembly दिखाने कृपया (उन्हें पर्याप्त डराने चाहिए) या, बस धीरे उपेक्षा उन्हें।
,
विश्वविद्यालय के प्रोफेसरों को अकेले उनके पहले नामों से कॉल करना असामान्य है। प्रोफेसर डोनाल्ड इस बारे में क्या सोचेंगे? –
इसके शीर्ष पर जर्मनों को छोड़कर इतना औपचारिक होना अनावश्यक है (फिर आपको हेर प्रोफेसर डॉकटर का पूरा नाम उपयोग करना होगा)। –
- 1. एएसएम, एएसएम अस्थिर और क्लोबबरिंग मेमोरी
- 2. लर्निंग रिसोर्सेज, और संकलनकर्ता
- 3. एएसएम
- 4. एएसएम
- 5. एएसएम
- 6. निर्णय ट्री लर्निंग और अशुद्धता
- 7. डेल्फी लेबल और एएसएम अजीबता?
- 8. लर्निंग CodeIgniter
- 9. एएसएम 8086
- 10. एएसएम बाइटकोड
- 11. इनलाइन एएसएम
- 12. अनुकूलन युक्तियाँ और चाल
- 13. लूप unrolling और अनुकूलन
- 14. सी # अनुकूलन और दुष्प्रभाव
- 15. विधानसभा भाषा और अनुकूलन
- 16. प्रोफाइलिंग और अनुकूलन संकलन
- 17. वोक्सेल इंजन और अनुकूलन
- 18. प्रतिबंधित बोल्टज़मान मशीनों और डीप लर्निंग
- 19. मशीन लर्निंग, एआई, और सॉफ्ट कंप्यूटिंग
- 20. लर्निंग और क्रॉस-प्लेटफ़ॉर्म डेवलपमेंट (सी ++)
- 21. सी # (लर्निंग पथ)
- 22. लर्निंग ग्राफ एल्गोरिदम
- 23. पेरिसट्रॉन लर्निंग एल्गोरिदम
- 24. जावा मल्टीथ्रेडिंग लर्निंग स्रोत
- 25. LGPL मशीन लर्निंग - सी ++
- 26. लर्निंग हास्केल: सी #
- 27. लर्निंग रूबी शापित
- 28. लर्निंग एंबेडेड फर्मवेयर हैकिंग
- 29. सी ++ सुदृढीकरण लर्निंग लाइब्रेरी
- 30. लर्निंग LINQ: क्विकसार्ट
अधिक आम तौर पर: http://www.agner.org/optimize/ कैसे वहाँ का अनुकूलन करने पर विस्तार के बहुत सारे। एक से थोड़ा अधिक पूर्ण अनुदेश विलंबता तालिका के लिए, http://instlatx64.atw.hu/ – harold
अंतिम सेमेस्टर मैं सीपीयू अनुकूलन पर कुछ व्याख्यान, SIMD सहित दिया देखते हैं, और शायद आप व्याख्यान उपयोगी स्लाइड होगा। http://www.cc.gatech.edu/grads/m/mdukhan3/ –
एक तरफ ध्यान दें, एएसएम के साथ खिलवाड़ आमतौर पर एक बुरा विचार (कम से कम अगर कारण सिर्फ अनुकूलन है), SSE के लिए विशेष रूप से है बस के रूप में। intrinsics है, जो ज्यादा उपयोग करने के लिए आसान है का उपयोग करें, मंच स्वतंत्र (के रूप में मंच स्वतंत्र रूप में आप SSE के साथ प्राप्त कर सकते हैं) और, और भी अधिक महत्वपूर्ण है, और अधिक कुशल, क्योंकि संकलक संभवत: ज्यादा आप से अनुकूलन के लिए बेहतर है। अपने कंपाइलर को आउटमार्ट करने की कोशिश न करें (या, यदि आप चाहें, तो * वास्तव में कड़ी मेहनत करें *)। –