Wspólne techniki SIMD

Gdzie mogę znaleźć informacje o popularnych sztuczkach SIMD? Mam zestaw instrukcji i wiem, jak napisać nietrudny kod SIMD, ale wiem, SIMD jest teraz o wiele potężniejsze. Może zawierać złożony kod warunkowy bez rozgałęzień.
Na przykład (ARMv6), następująca sekwencja instrukcji ustawia każdy bajt Rd równy niepodpisanemu minimum odpowiednich bajtów Ra i Rb:

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

Linki do tutoriali / niecodziennych technik SIMD też są dobre:) ARMv6 jest najbardziej ciekawe dla mnie, ale x86 (SSE,...) / Neon (W ARMv7) / inne też są dobre.

Author: NullUserException, 2010-01-28

2 answers

Jednym z najlepszych zasobów SIMD w historii była stara lista dyskusyjna AltiVec. Chociaż PowerPC / altivec-specific podejrzewam, że wiele materiałów na tej liście byłoby ogólnego zainteresowania dla każdego, kto pracuje z innymi architekturami SIMD. Niestety ta lista wydaje się teraz nieaktualna po przeniesieniu na forum na power.org, ale być może uda Ci się znaleźć jego zarchiwizowane wersje. (Jeśli nie to daj mi znać - mam prawie wszystkie posty z 2000 - 2007.)

Istnieje również wiele potencjalnie przydatne informacje na temat wektoryzacji AltiVec, SSE, SIMD i ogólnie wydajności na http://developer.apple.com/hardwaredrivers/ve/index.html , z których znaczna część może być przenoszona na inne architektury SIMD.

 12
Author: Paul R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-29 08:40:06

Wypróbuj projekt AMD SSEPlus na sourceforge

 6
Author: Jack Nock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-29 05:58:15