2010-01-28 8 views
17

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

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

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

ответ

12

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

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

+1

Согласовано на странице Altivec - некоторые из разделов на «написание кода Altivec» весьма полезны в целом вектор программирования передового опыта. –

+3

К сожалению, на данный момент эта страница теперь перенаправляется на расширенную группу Conmputation Apple. Страница по-прежнему находится в кеше Google: http://209.85.229.132/search?q=cache:eHR6ni6SROoJ:developer.apple.com/hardware/ve/index.html+site:developer.apple.com+Velocity+Engine&cd = 1 & hl = fr & ct = clnk & gl = fr, и подстраницы не перенаправляются, поэтому контент по-прежнему доступен, хотя я архивировал его Just In Case (TM). –

+0

@Pierre: это настоящий позор - я думаю, Apple чувствует, что больше никто не заботится о AltiVec. К сожалению, старый список рассылки AltiVec также, по-видимому, исчез, он явно перешел на power.org, но я не могу его найти сейчас. К счастью, большинство из них архивировано. –