Где я могу найти информацию об общих трюках SIMD? У меня есть набор инструкций и знаю, как писать нехитрый код SIMD, но я знаю, что теперь SIMD намного мощнее. Он может содержать сложный условный бесконтактный код.
Например (ARMv6
), следующая последовательность команд устанавливает каждый байт Rd, равный беззнаковый минимум соответствующих байт Ra и Rb:Общие методы SIMD
USUB8 Rd, Ra, Rb
SEL Rd, Rb, Ra
Ссылки на учебники/необычные методы SIMD хороши также:) ARMv6 - самый интересный для меня, но x86 (SSE, ...)/Neon (в ARMv7)/другие тоже хорошие.
Согласовано на странице Altivec - некоторые из разделов на «написание кода Altivec» весьма полезны в целом вектор программирования передового опыта. –
К сожалению, на данный момент эта страница теперь перенаправляется на расширенную группу 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). –
@Pierre: это настоящий позор - я думаю, Apple чувствует, что больше никто не заботится о AltiVec. К сожалению, старый список рассылки AltiVec также, по-видимому, исчез, он явно перешел на power.org, но я не могу его найти сейчас. К счастью, большинство из них архивировано. –