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

2 la respuesta

¿Es una variable __m128i cero?

¿Cómo pruebo si un__m128i variable tiene algún valor distinto de cero en los procesadores SSE-2 y anteriores?

3 la respuesta

SSE multiplicación 16 x uint8_t

Quiero multiplicar con SSE4 a__m128i objeto con 16 enteros de 8 bits sin signo, pero solo pude encontrar un intrínseco para multiplicar enteros de 16 bits. ¿No hay nada como_mm_mult_epi8?

4 la respuesta

NEON vectoriza la suma de productos de bytes sin signo: (a [i] -int1) * (b [i] -int2)

Necesito mejorar un ciclo, porque mi aplicación lo llama miles de veces. Supongo que necesito hacerlo con Neon, pero no sé por dónde empezar. Suposiciones / condiciones previas: w siempre es 320 (múltiplo de 16/32).pa ypb están alineados a 16 ...

6 la respuesta

agregar los componentes de un registro SSE

Quiero agregar los cuatro componentes de un registro SSE para obtener un único flotante. Así es como lo hago ahora: float a[4]; _mm_storeu_ps(a, foo128); float x = a[0] + a[1] + a[2] + a[3];Existe una instrucción SSE que lo logre directamente?

4 la respuesta

¿Cómo convierto _m128i en un int sin firmar con SSE?

He realizado una función para posterizar imágenes. // =( #define ARGB_COLOR(a, r, g, b) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)) inline UINT PosterizeColor(const UINT &color, const float &nColors) { __m128 clr = _mm_cvtepi32_ps( ...

6 la respuesta

SSE más lento que FPU?

Tengo un gran código, parte de cuyo cuerpo contiene este código: result = (nx * m_Lx + ny * m_Ly + m_Lz) / sqrt(nx * nx + ny * ny + 1);que he vectorizado de la siguiente manera (todo ya es unafloat): __m128 r = _mm_mul_ps(_mm_set_ps(ny, nx, ...

2 la respuesta

¿Es la preferencia con SIMD siempre deshacerse de la ramificación?

Si está escribiendo algún código SIMD que será ejecutado por otro programa, ¿siempre es favorable deshacerse de la ramificación para aumentar el rendimiento? Escuché que incluso hacer operaciones adicionales solo para evitarif/else ...

4 la respuesta

SSE: convertir un entero corto a flotante

Quiero convertir una matriz de números cortos sin signo para flotar usando SSE. Digamo __m128i xVal; // Has 8 16-bit unsigned integers __m128 y1, y2; // 2 xmm registers for 8 float values Quiero los primeros 4 uint16 en y1 y los siguientes 4 ...

4 la respuesta

Número de unidades de cómputo correspondientes al número de grupos de trabajo

Necesito alguna aclaración. Estoy desarrollando OpenCL en mi computadora portátil con una pequeña GPU nvidia (310M). Cuando consulto el dispositivo paraCL_DEVICE_MAX_COMPUTE_UNITS, el resultado es 2. Leí que el número de grupos de trabajo para ...

6 la respuesta

La forma más rápida de hacer una suma vectorial horizontal con instrucciones AVX [duplicado]

Esta pregunta ya tiene una respuesta aquí: Obtenga la suma de valores almacenados en __m256d con SSE / AVX [/questions/49941645/get-sum-of-values-stored-in-m256d-with-sse-avx] 2 respuestas Tengo un vector empaquetado de cuatro valores de coma ...