के लिए सिम गणित पुस्तकालय एसएसई और एवीएक्स के लिए मैं सिम गणित पुस्तकालयों (अधिमानतः खुले स्रोत) की तलाश में हूं। मेरा मतलब है उदाहरण के लिए यदि मेरे पास 8 फ्लोट वैल्यू के साथ एवीएक्स रजिस्टर वी है तो मुझे पाप (v) एक ही समय में सभी आठ मूल्यों के पाप को वापस करने के लिए चाहिए।एसएसई और एवीएक्स
एएमडी में एक प्रोपेरिटरी लाइब्रेरी है, लिबएम http://developer.amd.com/tools/cpu-development/libm/ जिसमें कुछ सिम गणित कार्य हैं लेकिन लिबएम केवल एवीएक्स का उपयोग करता है अगर यह एफएमए 4 का पता लगाता है जो इंटेल सीपीयू के पास नहीं है। इसके अलावा मुझे यकीन नहीं है कि यह पूरी तरह से AVX का उपयोग करता है क्योंकि सभी फ़ंक्शन नाम एस 4 (डी 2) में समाप्त होते हैं और एस 8 (डी 4) नहीं होते हैं। यह इंटेल सीपीयू पर मानक गणित पुस्तकालयों की तुलना में बेहतर प्रदर्शन प्रदान करता है लेकिन यह बेहतर नहीं है।
इंटेल के पास इसके सी ++ कंपाइलर के हिस्से के रूप में एसवीएमएल है लेकिन विंडोज़ पर कंपाइलर सूट बहुत महंगा है। इसके अतिरिक्त, इंटेल गैर-इंटेल CPU पर लाइब्रेरी को क्रिप्ट करता है।
मैं निम्नलिखित AVX पुस्तकालय, http://software-lisc.fbk.eu/avx_mathfun/, जो कुछ गणित कार्यों (समा, लॉग इन, sin, cos, और sincos) का समर्थन करता है पाया। यह मेरे लिए बहुत तेज परिणाम देता है, एसवीएमएल से तेज़, लेकिन मैंने सटीकता की जांच नहीं की है। यह केवल एकल फ़्लोटिंग पॉइंट पर काम करता है और विजुअल स्टूडियो में काम नहीं करता है (हालांकि इसे ठीक करना आसान होगा)। यह एक और एसएसई पुस्तकालय पर आधारित है।
क्या किसी के पास कोई अन्य सुझाव है?
संपादित करें: मैं एक बहुत थ्रेड कि इस विषय Vectorized Trig functions in C?
यद्यपि यह एक मालिकाना समाधान है, इंटेल के मठ कर्नेल लाइब्रेरी एक बहुत व्यापक विकल्प है। हालांकि, यह केवल इंटेल CPUs पर सबसे अच्छा प्रदर्शन करता है। मुझे विश्वास है कि गैर-इंटेल प्रोसेसर पर चलते समय अवांछित कोड पथ को हटाने के लिए अतीत में जाना जाता है। मुझे यकीन नहीं है कि यह समकालीन संस्करणों पर मामला है, हालांकि। –
यहां आप लॉगरिदम प्राप्त कर सकते हैं: https://stackoverflow.com/a/45898937/1915854 –
एग्नेर कोहरे [वेक्टर क्लास लाइब्रेरी] (http://agner.org/optimize/#vectorclass) जीपीएल है। यह इंटेल के इंट्रिनिक्स के लिए मैन्युअल वेक्टरनाइज़ेशन को अधिक सुविधाजनक बनाने के लिए एक रैपर का अधिक है, लेकिन कुछ गणित-लाइब्रेरी फ़ंक्शंस जैसे एक्सप और लॉग हैं। –