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

0 la respuesta

¿Cómo realizar eficientemente conversiones dobles / int64 con SSE / AVX?

SSE2 tiene instrucciones para convertir vectores entre flotantes de precisión simple y enteros de 32 bits. _mm_cvtps_epi32()_mm_cvtepi32_ps()Pero no hay equivalentes para enteros de doble precisión y de 64 bits. En otras palabras, ...

0 la respuesta

¿Atomicidad por elemento de carga / almacenamiento de vector y recolección / dispersión?

Considere una matriz comoatomic<int32_t> shared_array[]. ¿Qué pasa si quieres SIMD vectorizar?for(...) sum += shared_array[i].load(memory_order_relaxed)?. ¿O buscar una matriz para el primer elemento que no sea cero, o poner a cero un rango de ...

1 la respuesta

La forma más rápida de descomprimir 32 bits en un vector SIMD de 32 bytes

Tener 32 bits almacenados en unuint32_t en la memoria, ¿cuál es la forma más rápida de descomprimir cada bit en un elemento de byte separado de un registro AVX? Los bits pueden estar en cualquier posición dentro de sus respectivos bytes. Editar: ...

1 la respuesta

Intel SIMD: ¿cómo puedo verificar si un __m256 * contiene valores distintos de cero?

Estoy usando el compilador de Microsoft Visual Studio. Estoy tratando de averiguar si un vector de 256 bits contiene valores distintos de cero. Yo he tratadores_simd = ! _mm256_testz_ps(*pSrc1, *pSrc1); Pero no funciona.

1 la respuesta

AVX: alineación de datos: bloqueo de tienda, storeu, carga, loadu no

Estoy modificando RNNLM una red neuronal para estudiar el modelo de lenguaje. Sin embargo, dado el tamaño de mi cuerpo, funciona muy lento. Traté de optimizar la rutina de vectores de matriz * (que es responsable del 63% del tiempo total para un ...

1 la respuesta

Contenedor para `__m256` Producir falla de segmentación con el constructor - Windows 64 + MinGW + AVX Issues

Tengo una unión que se ve así union bareVec8f { __m256 m256; //avx 8x float vector float floats[8]; int ints[8]; inline bareVec8f(){ } inline bareVec8f(__m256 vec){ this->m256 = vec; } inline bareVec8f &operator=(__m256 m256) { this->m256 = ...

1 la respuesta

¿Cuántos ciclos de reloj cuesta la exponenciación AVX / SSE en la CPU moderna x86_64?

¿Cuántos ciclos de reloj cuesta la exponenciación AVX / SSE en la CPU moderna x86_64? Estoy a punto de:pow(x, y) = exp(y*log(x)) [https://stackoverflow.com/questions/25936031/pow-for-sse-types] Es decir. Haz ambosexp() ylog() ¿Las instrucciones ...

1 la respuesta

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 ...

1 la respuesta

¿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 ...

1 la respuesta

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], ...