Общие методы SIMD

Где я могу найти информацию об общих трюках SIMD? У меня есть набор инструкций и знаю, как писать нехитрый код SIMD, но я знаю, что теперь SIMD намного мощнее. Он может содержать сложный условный бесконтактный код.
Например, (ARMv6), следующая последовательность инструкций устанавливает каждый байт Rd, равный беззнаковому минимуму соответствующих байтов Ra и Rb:

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

Ссылки на учебники/необычные методы SIMD тоже хороши:) ARMv6 для меня самый интересный, но x86 (SSE,...)/ Neon (в ARMv7)/другие тоже хороши.

Ответы

Ответ 1

Один из лучших ресурсов SIMD когда-либо был старым списком рассылки AltiVec. Хотя PowerPC/AltiVec-specific я подозреваю, что многие материалы в этом списке будут представлять общий интерес для всех, кто работает с другими SIMD-архитектурами. К сожалению, этот список теперь не работает, после того как его перевели на форум на сайте power.org, но вы можете найти его в архивных версиях. (Если нет, то дайте мне знать - у меня почти все должности с 2000 по 2007 год.)

Существует также много потенциально полезной информации о AltiVec, SSE, SIMD-векторизации и производительности в целом http://developer.apple.com/hardwaredrivers/ve/index.html, что немаловажно из которых могут быть переданы другим архитектурам SIMD.

Ответ 2

Попробуйте AMD SSEPlus проект на sourceforge