2013-10-22 6 views
7

मैं जानना चाहता हूं कि 5 (!) साल पहले जब से मोनो एसआईएमडी (या मोनो के अंदर सामान्य में सिम-सपोर्ट) पर कोई विकास हुआ है या नहीं। मुझे व्यक्तिगत रूप से लगता है कि यह सी # के लिए गति में सुधार करने में एक अच्छा कदम था। हालांकि, मैंने इसे कुछ समय के लिए उपयोग किया है और मुझे लगता है कि मोनो.आईएमडी पीछे गिर रहा है, क्योंकि बहुत सारे काम गायब हैं।क्या मोनो में सिमड पर अभी भी कोई विकास है?

समस्याओं का सामना करना पड़ रहा हूँ मैं में शामिल हैं:

  1. एक डॉट उत्पाद की कमी है, जो 1 ऑपरेशन में SSE4.1 (जो 2006 में बाहर आया था और अब पर समर्थित है के बाद से कभी लागू किया जा सकता 70% कंप्यूटर), जबकि यह मोनो एसआईएमडी के अंदर 3 ऑपरेशन लेता है। इसके अलावा, प्रोग्रामर को एसएसई के प्रत्येक संस्करण के लिए एक फ़ंक्शन लिखना है, जो कि जेआईटी को करना चाहिए (क्योंकि यह विशेष रूप से प्रोग्रामर को सीपीयू-संस्करणों के बारे में चिंता करने से रोकने के लिए बनाया गया है)।
  2. वेक्टर 4 एफ और वेक्टर 4i (या किसी अन्य वैक्टर जो अलग हैं) को जोड़ने/गुणा करने की कोई संभावना नहीं है।
  3. वैक्टरों का कोई उचित कास्टिंग नहीं (बिट्स बिल्कुल नहीं दिखते हैं, इसलिए परिणाम बहुत अजीब और लगभग पूरी तरह से बेकार हैं)।
  4. अन्य फ़ंक्शन जो शामिल नहीं हैं, जैसे गोलाकार।

तो, क्या किसी को पता है कि मोनो के साथ कुछ हो रहा है या नहीं। सामान्य में सिमड या सिम-सपोर्ट (और यदि ऐसा है, तो क्या? या, वैकल्पिक रूप से, क्या किसी को बताई गई किसी भी समस्या के लिए कोई अच्छा समाधान पता है?

+2

एसएसई 4.1 में डॉट उत्पाद निर्देश लगभग बेकार है।इंटेल सीपीयू पर यह 4 माइक्रोऑपरेशंस (एकल परिशुद्धता संस्करण में) को डीकोड करता है, और हाल ही में एएमडी सीपीयू पर यह निर्देश माइक्रोक्रोड किया जाता है। मैंने कभी भी कोई कोड नहीं देखा है (यहां तक ​​कि सिंथेटिक बेंचमार्क) जो इस निर्देश से लाभान्वित है। –

+0

नेट फ्रेमवर्क 4.6 और 4.5 (वेक्टर ऑप्स के लिए सिस्टम न्यूमेरिक्स), और चूंकि माइक्रोसॉफ्ट.बीक्ल। सिमड के साथ RyuJIT के बाद, सिमड अब नेट द्वारा समर्थित है। यह शायद मोनो टीम को नेतृत्व का पालन करने के लिए प्रोत्साहित करेगा? – AFract

उत्तर

4

AFAIR विकास प्रगति पर नहीं है। परियोजना ओपन सोर्स है और मशीनरी बहुत जटिल नहीं है, इसलिए कोई भी मौजूदा कार्यान्वयन में सुधार कर सकता है। मैंने कुछ निर्देश जोड़ने पर विचार किया, लेकिन फिर, सामान्य रूप से, ऐसा करने के लिए पर्याप्त समय नहीं था (एप्लिकेशन को अंततः रद्द कर दिया गया था)। आपको धागे को देखने में रुचि हो सकती है: http://lists.ximian.com/pipermail/mono-devel-list/2012-February/038632.html

1

दूसरा उत्तर कुछ साल पहले बनाया गया था। इस प्रकार, मैंने इसे 2018 पाठकों के लिए सभी आवश्यक बिट्स सूचीबद्ध करने के लिए लिखा था।

जब मोनो SIMD समर्थन करने के लिए शुरू कर दिया है, वे एकता लोगों द्वारा अनुरोध किया गया है,

http://tirania.org/blog/archive/2008/Nov-03.html

यह जल्दी में लग रहा था, इसलिए समग्र एपीआई डिजाइन अभी भी कमरे विकसित करने के लिए है।

माइक्रोसॉफ्ट एक अधिक पूर्ण और मानकीकृत SIMD सक्षम पुस्तकालय पर काम शुरू कर दिया, और कहा कि कुछ साल बाद 2014 में किया गया था,

https://www.infoq.com/news/2014/04/SIMD-CLR

इसलिए, ध्यान इस नए विकल्प के लिए भुगतान किया जाना चाहिए।

माइक्रोसॉफ्ट ने 2015 में .NET कोर को सोर्स किया, और तब से सिमड काम तेज हो गया है।

यह पिछले साल में किया गया था कि मोनो 5.0 माइक्रोसॉफ्ट के काम के पक्ष में Mono.SIMD की obsoleteness,

http://www.mono-project.com/docs/about-mono/releases/5.0.0/ (SIMD त्वरण सहायता अनुभाग) की घोषणा की।

संबंधित मुद्दे