سؤال

أين يمكنني العثور على معلومات حول حيل SIMD الشائعة؟ لدي مجموعة تعليمية ومعرفة ، كيف أكتب رمز SIMD غير المحبب ، لكنني أعلم أن SIMD الآن أكثر قوة. يمكن أن يحمل رمزًا مشروطًا بدون فرع.
علي سبيل المثال (ARMv6) ، يضبط التسلسل التالي للتعليمات كل بايت من RD يساوي الحد الأدنى غير الموقّع للبايت المقابل لـ RA و RB:

USUB8 Rd, Ra, Rb
SEL Rd, Rb, Ra

روابط إلى البرامج التعليمية / تقنيات SIMD غير المألوفة جيدة أيضًا :) ARMV6 هو الأكثر إثارة للاهتمام بالنسبة لي ، ولكن x86(SSE ، ...)/نيون(في ARMV7)/الآخرين جيد أيضًا.

هل كانت مفيدة؟

المحلول

واحدة من أفضل موارد SIMD على الإطلاق كانت القائمة البريدية القديمة Altivec. على الرغم من أن powerpc/altivecy خاصة ، أظن أن الكثير من المواد الموجودة في هذه القائمة ستكون ذات أهمية عامة لأي شخص يعمل مع بنيات SIMD الأخرى. للأسف ، يبدو أن هذه القائمة قد انتهت الآن بعد نقلها إلى منتدى على Power.org ، ولكن قد تتمكن من العثور على إصدارات مؤرشفة منه. (إذا لم يكن الأمر كذلك ، فأخبرني - لدي جميع المنشورات من 2000 - 2007.)

هناك أيضًا الكثير من المعلومات المفيدة المحتملة حول Altivec و SSE و SIMD Vectorization والأداء بشكل عام في http://developer.apple.com/hardwaredrivers/ve/index.html, ، قد تكون قابلة للتحويل إلى بنية SIMD الأخرى.

نصائح أخرى

جرب AMD sseplus مشروع على SourceForge

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top