जवाबों:
आप अपने संकलक / खरीद के SSE (स्ट्रीमिंग सिमड एक्सटेंशन) निर्देशों और आंतरिक (* mmintrin.h फ़ाइलों) का उपयोग करके इसे "स्वयं" भी कर सकते हैं ।
ट्यूटोरियल
यहां विधानसभा के साथ SSE निर्देशों का उपयोग करने का एक उदाहरण दिया गया है:
http://neilkemp.us/src/sse_tutorial/sse_tutorial.html
और यहाँ एक ट्यूटोरियल है कि आंतरिक निर्देशों के साथ SSE निर्देशों का उपयोग कैसे करें:
http://www.codeproject.com/KB/recipes/sseintro.aspx
C ++ के साथ SSE SIMD का उपयोग करने के लिए एक व्यावहारिक मार्गदर्शिका:
http://sci.tuomastonteri.fi/programming/sse/printable
उपयोगी जानकारी
इंटेल सी ++ आंतरिक संदर्भ (निर्देशों की सूची प्राप्त करने के लिए उपयोगी):
http://cache-www.intel.com/cd/00/00/34/76/347603_347603.pdf
SSE और SSE2 इंटेल और AMD प्रोसेसर (SSE और SIMD के सापेक्ष सभी प्रकार के लिए उपयोगी) द्वारा समर्थित उन्नत निर्देश सेट के लिए आंतरिक समर्थन:
http://msdn.microsoft.com/en-us/library/y0dd78ez%28v= vs.71% 29.aspx
SSE, SSE2, SSE3, SSSE3, SSE4, 3DNow आदि के बारे में समग्र निर्देश सूची और informations (विभिन्न खरीद आर्किटेक्चर के लिए SSE के विभिन्न संस्करण):
http://softpixel.com/~cwright/programp/simd/sse.php
यदि आप एक रेखीय बीजगणित रूपरेखा पसंद करते हैं, जिसे मैंने Eigen के बारे में बताया है:
http://eigen.tuxfamily.org/
http://eigen.tuxfamily.org/index.php?title=FAQ#Vectorization (SIMD समर्थन के बारे में)
और अंत में अगर आपको C ++ SIMD फ्रेमवर्क के बारे में अधिक जवाब चाहिए, तो यहां एक StackOverflow लिंक है । (C ++ SSE SIMD फ्रेमवर्क):
/programming/4953121/c-sse-simd-framework
इन दोनों वेक्टर / मैट्रिक्स-लिबास ने SSE2 कोड को अनुकूलित किया है, Sony में PowerPC संकलित स्विच के लिए Altivec भी है:
सोनी के वीरकर्मथ SSE2 और Altivec
बुलेट का लीनियरमैथ SSE2
थोड़ी सी कोचिंग से मुझे लगता है कि आप बुलेट की गणित लाइब्रेरी का उपयोग कर सकते हैं, बुलेट अपने आप में एक ओपनसोर्स भौतिकी इंजन है और इसके पास एक शक्तिशाली गणित पुस्तकालय है। यहाँ लिंक डाउनलोड करने के लिए एक शॉर्टकट है http://sourceforge.net/projects/bullet/files/SIMD%20and%20amp_%20Vector%20Math%20library/simd%20math%20and%20and%20vector%20.01ath/simdvectormath.tg /डाउनलोड
simdvectormath
बुलेट फ़ाइलों में कुछ समय लगता है
यह अभी तक यहां नहीं है। लेकिन वहाँ एक बढ़ावा दिया जाएगा। Simd पुस्तकालय (उम्मीद है)। इस प्रस्तुति को देखें (पिछले सप्ताह बूस्टकॉन पर दिया गया)
https://github.com/boostcon/2011_presentations/blob/master/thu/simd.pdf
जबकि वास्तव में SIMD के उपयोग पर ध्यान केंद्रित नहीं किया गया है, मुझे glm लगता है एक बहुत अच्छा सामान्य प्रयोजन गणित पुस्तकालय है जब यह खेल के लिए आता है। यह मनमाने ढंग से मैट्रिस और पसंद का समर्थन नहीं करता है, लेकिन इसमें 3D ग्राफिक्स के साथ उपयोग की जाने वाली सुविधाओं को सुव्यवस्थित किया गया है और इसमें SSE के साथ-साथ सामान्य एल्गोरिदम के कुछ तेज़ कार्यान्वयन को सक्षम करने की विशेषताएं हैं।
जबकि यह विशेष रूप से ओपनजीएल के साथ उपयोग करने के लिए डिज़ाइन किया गया है, मैंने इसे विभिन्न कार्यों के लिए बहुत उपयोगी पाया है। यह ऑपरेटर ओवरलोडिंग का भारी उपयोग करता है जो इसे उपयोग करने वाले कोड का उपयोग करना और बनाए रखना बहुत आसान बनाता है।
यह OpenGL GLSL लैंग्वेज पर आधारित है, जिसमें बहुत ही ठोस डॉक्यूमेंटेशन हैं, और किसी भी अंतर को अच्छी तरह से डॉक्यूमेंट किया गया है।