2010-01-28 21 views
17

¿Dónde puedo encontrar información sobre los trucos comunes de SIMD? Tengo un conjunto de instrucciones y sé cómo escribir código SIMD no complicado, pero sé que SIMD ahora es mucho más poderoso. Puede contener código condicional sin sucursales.
Por ejemplo (ARMv6), la siguiente secuencia de conjuntos de instrucciones cada byte de Rd igual al mínimo sin signo de los bytes correspondientes de Ra y Rb:Técnicas comunes de SIMD

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

enlaces a tutoriales/técnicas SIMD poco comunes también están bien:) ARMv6 es el más interesante para mí, pero x86 (SSE, ...)/Neon (en ARMv7)/otros son buenos también.

Respuesta

12

Uno de los mejores recursos de SIMD fue la antigua lista de correo de AltiVec. Aunque es específico de PowerPC/AltiVec, sospecho que gran parte del material de esta lista sería de interés general para cualquier persona que trabaje con otras arquitecturas SIMD. Tristemente, esta lista parece ahora difunta después de ser trasladada a un foro en power.org, pero es posible que pueda encontrar versiones archivadas de la misma. (Si no, hágamelo saber - Tengo prácticamente todas las publicaciones de 2000 a 2007.)

También hay una gran cantidad de información potencialmente útil sobre AltiVec, SSE, vectorización SIMD y el rendimiento en general en http://developer.apple.com/hardwaredrivers/ve/index.html, una buena acuerdo de los cuales puede ser transferible a otras arquitecturas SIMD.

+1

acordada en la página AltiVec - algunas de las secciones de "escribir código AltiVec" son muy útiles sobre las mejores prácticas de programación de vectores en general. –

+3

Desafortunadamente, a partir de ahora esa página ahora redirecciona al Apple Advanced Conmputation Group. La página aún se encuentra en la caché de 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 y las subpáginas no se redirigen, por lo que el contenido aún está disponible, aunque lo he archivado Just In Case (TM). –

+0

@Pierre: es una verdadera lástima, creo que Apple siente que ya nadie se preocupa por AltiVec. Desafortunadamente, la antigua lista de correo de AltiVec también parece haber desaparecido, aparentemente se movió a power.org pero no puedo encontrarla ahora. Afortunadamente, tengo la mayoría archivada. –