Resultados de la búsqueda a petición "avx"
Carga de 8 caracteres de la memoria en una variable __m256 como flotantes de precisión individuales empaquetados
Estoy optimizando un algoritmo para el desenfoque gaussiano en una imagen y quiero reemplazar el uso de un búfer flotante [8] en el código a continuación con una variable intrínseca __m256. ¿Qué serie de instrucciones es la más adecuada para esta ...
¿Cuáles son las mejores secuencias de instrucciones para generar constantes vectoriales sobre la marcha?
"Mejor" significa la menor cantidad de instrucciones (o la menor cantidad de uops, si alguna de las instrucciones decodifica a más de una uop). El tamaño del código de máquina en bytes es un factor decisivo para un recuento de insn igual. La ...
Los índices de bytes distintos de cero de un registro SSE / AVX
Si el valor de un registro SSE / AVX es tal que todos sus bytes son 0 o 1, ¿hay alguna manera de obtener eficientemente los índices de todos los elementos distintos de cero? Por ejemplo, si el valor xmm es | r0 = 0 | r1 = 1 | r2 = 0 | r3 = 1 | ...
La forma más eficiente de obtener un __m256 de sumas horizontales de 8 vectores __m256 de origen
Sé sumar uno__m256 para obtener un solo valor sumado. Sin embargo, tengo 8 vectores como Entrada 1: a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], ....., ....., 8: h[0], h[1], h[2], h[3], h[4], a[5], a[6], ...
¿La forma más rápida de multiplicar una matriz de int64_t?
Quiero vectorizar la multiplicación de dos matrices alineadas en memoria. No encontré ninguna forma de multiplicar 64 * 64 bits en AVX / AVX2, así que simplemente hice un loop-roll y AVX2 cargas / tiendas. ¿Hay una forma más rápida de hacer ...
¿hay una instrucción inversa a la instrucción movemask en intel avx2?
Las instrucciones de máscara de movimiento toman un __m256i y devuelven un int32 donde cada bit (ya sea los primeros 4, 8 o los 32 bits dependiendo del tipo de elemento del vector de entrada) es el bit más significativo del elemento vectorial ...
Existen versiones SIMD más antiguas disponibles cuando se utilizan las más nuevas?
Cuando puedo usar SSE3 o AVX, ¿están disponibles versiones SSE anteriores como SSE2 o MMX? - ¿o todavía necesito verificarlos por separado?
_mm_testc_ps y _mm_testc_pd vs _mm_testc_si128
Como saben, los dos primeros son intrínsecos específicos de AVX y el segundo es un intrínseco SSE4.1. Ambos conjuntos de intrínsecos se pueden usar para verificar la igualdad de 2 vectores de punto flotante. Mi caso de uso ...
selectivamente elementos de una lista con instrucciones AVX2
Quiero acelerar la siguiente operación con las instrucciones de AVX2, pero no pude encontrar una manera de hacerlo. Me dan una gran variedaduint64_t data[100000] de uint64_t's, y una matrizunsigned char indices[100000] de bytes. Quiero generar ...
Utilizando registros ymm como una ubicación de almacenamiento "similar a la memoria"
Considere el siguiente bucle en x86: ; on entry, rdi has the number of iterations .top: ; some magic happens here to calculate a result in rax mov [array + rdi * 8], rax ; store result in output array dec rdi jnz .top Es sencillo: algo calcula ...