मैंने अभी एसएसई का उपयोग करना शुरू कर दिया है और मैं उलझन में हूं कि __m128i
के अधिकतम पूर्णांक मान (max
) को कैसे प्राप्त करें। उदाहरण के लिए:एसएसई के साथ __m128i वेक्टर में अधिकतम मूल्य प्राप्त करना?
__m128i t = _mm_setr_ps(0,1,2,3);
// max(t) = 3;
आसपास सर्च कर रहे हैं मुझे MAXPS
अनुदेश के लिए नेतृत्व किया लेकिन मुझे लगता है कि उपयोग करने के लिए कैसे "xmmintrin.h"
साथ खोजने के लिए प्रतीत नहीं कर सकते हैं।
इसके अलावा, क्या "xmmintrin.h"
के लिए कोई दस्तावेज है जो आप हीडर फ़ाइल को देखने के बजाय अनुशंसा करेंगे?
शफ़ल आप की जरूरत एक क्षैतिज राशि के लिए के रूप में ही, या काफी किसी अन्य क्षैतिज कमी कर रहे हैं। एसएसई 2, एसएसई 3 के साथ फ्लोट, पूर्णांक और डबल के लिए कुछ अनुकूलित संस्करणों के लिए https://stackoverflow.com/questions/6996764/fastest-way-to-do-horizontal-float-vector-sum-on-x86 देखें। AVX। इसके अलावा सीपीयू पर कौन सा शफल इष्टतम है, इसकी चर्चा भी। –
यह सवाल फ्लोट बनाम पूर्णांक के बारे में उलझन में प्रतीत होता है। '__m128i' एक पूर्णांक वेक्टर है। '* _ps' और' MAXPS' पैक-सिंगल फ्लोट हैं। दस्तावेज़ों के लिए, लिंक के लिए [एसएसई टैग विकी] (https://stackoverflow.com/tags/sse/info) देखें, और https://stackoverflow.com/tags/x86/info पर कई और लिंक देखें। एक बहुत अच्छा संसाधन है [** इंटेल की आंतरिक खोज/खोजक **] (https://software.intel.com/sites/landingpage/IntrinsicsGuide/) जिसमें प्रत्येक के बारे में विवरण है, लेकिन जितना अधिक विस्तार नहीं है एएसएम निर्देश संदर्भ मैनुअल। –