Resultados de la búsqueda a petición "simd"

4 la respuesta

ARM Cortex-A8: ¿Cuál es la diferencia entre VFP y NEON?

En el procesador ARM Cortex-A8, entiendo lo que es NEON, es un coprocesador SIMD. Pero, ¿la unidad VFP (Vector Floating Point), que también es un coprocesador, funciona como un procesador SIMD? Si es así, ¿cuál es mejor usar? Leo algunos ...

2 la respuesta

Convención para mostrar registros vectoriales

¿Existe una convención para mostrar / escribir registros grandes, como los disponibles en el conjunto de instrucciones Intel AVX? Por ejemplo, si tiene 1 en el byte menos significativo, 20 en el byte más significativo y 0 en otro lugar de unxmm ...

4 la respuesta

Cómo calcular el producto Vector Dot utilizando las funciones intrínsecas SSE en C

Estoy tratando de multiplicar dos vectores juntos donde cada elemento de un vector se multiplica por el elemento en el mismo índice en el otro vector. Luego quiero sumar todos los elementos del vector resultante para obtener un número. Por ...

3 la respuesta

¿Puedo usar las unidades AVX FMA para hacer multiplicaciones enteras de 52 bits con exactitud de bit?

AXV2 no tiene multiplicaciones de enteros con fuentes mayores de 32 bits. Sí ofrece32 x 32 -> 32 [http://www.felixcloutier.com/x86/PMULLD.html]multiplica, así como32 x 32 -> 64 [http://www.felixcloutier.com/x86/PMULDQ.html]$432 x 32 ...

2 la respuesta

¿Cómo vectorizar con gcc?

La serie v4 de lagcc el compilador puede vectorizar bucles automáticamente usando elSIMD [http://en.wikipedia.org/wiki/SIMD]procesador en algunas CPU modernas, como los chips AMD Athlon o Intel Pentium / Core. ¿Cómo se hace esto?

11 la respuesta

¿Cómo compilar Tensorflow con las instrucciones SSE4.2 y AVX?

Este es el mensaje recibido al ejecutar un script para verificar si Tensorflow está funcionando: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I ...

4 la respuesta

El código SIMD funciona más lento que el código escalar

elma yelmc son ambosunsigned long matrices Así sonres1 yres2. unsigned long simdstore[2]; __m128i *p, simda, simdb, simdc; p = (__m128i *) simdstore; for (i = 0; i < _polylen; i++) { u1 = (elma[i] >> l) & 15; u2 = (elmc[i] >> l) & 15; for (k = ...

5 la respuesta

SSE2: función de registro de doble precisión

Necesito la implementación de código abierto (sin restricción de licencia) de la función de registro, algo con firma __m128d _mm_log_pd(__m128d);Está disponible en Intel Short Vector Math Library (parte de ICC), pero ICC no es gratuito ni de ...

3 la respuesta

¿Por qué esta multiplicación SIMD no es más rápida que la multiplicación no SIMD?

Supongamos que tenemos una función que multiplica dos matrices de 1000000 dobles cada una. En C / C ++, la función se ve así: void mul_c(double* a, double* b) { for (int i = 0; i != 1000000; ++i) { a[i] = a[i] * b[i]; } }El compilador produce el ...

2 la respuesta

¿Cuál es la forma más eficiente de cargar y extraer valores enteros de 32 bits de un vector SSE de 128 bits?

Estoy tratando de optimizar mi código usando intrínsecos SSE, pero me encuentro con un problema en el que no conozco una buena manera de extraer los valores enteros de un vector después de haber realizado las operaciones intrínsecas SSE para ...