Resultados de la búsqueda a petición "simd"
Instrucciones de SSE para verificar si la matriz de bytes es cero C #
Supongamos que tengo unbyte[] y quiere verificar si todos los bytes son ceros. For loop es una forma obvia de hacerlo, y LINQAll() es una forma elegante de hacerlo, pero el rendimiento más alto es crítico. Como puedo usarMono.Simd ...
¿Cómo escribir código c ++ que el compilador puede compilar eficientemente a SSE o AVX?
Digamos que tengo una función escrita en c ++ que realiza multiplicaciones de vectores de matriz en muchos vectores. Se necesita un puntero a la matriz de vectores para transformar. ¿Estoy en lo cierto al suponer que el compilador no puede ...
¿Obtengo una penalización de rendimiento cuando mezclo instrucciones SSD integer / float SIMD?
He usado bastante las instrucciones x86 SIMD (SSE1234) en forma de intrínsecos últimamente. Lo que encontré frustrante es que el SSE ISA tiene varias instrucciones simples que están disponibles solo para flotantes o solo para números enteros, ...
¿Cómo llevar a cabo la conversión de uint32 / float con SSE?
En SSE hay una función_mm_cvtepi32_ps(__m128i input) que toma el vector de entrada de enteros con signo de 32 bits de ancho (int32_t) y los convierte enfloats. Ahora, quiero interpretar los enteros de entrada como no firmados. Pero no ...
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 estas instrucciones adicionales de desmontaje cuando se utilizan intrínsecos SIMD?
Estoy probando qué tipo de aceleración puedo obtener al usar las instrucciones SIMD con RyuJIT y veo algunas instrucciones de desmontaje que no espero. Estoy basando el código enesta publicación de ...
¿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 ...
¿Cómo implementar atoi usando SIMD?
Me gustaría intentar escribir una implementación atoi usando instrucciones SIMD, para incluir enRapidJSON [http://rapidjson.org/](una biblioteca de lector / escritor C ++ JSON). Actualmente tiene algunas optimizaciones SSE2 y SSE4.2 en otros ...
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 | ...
¿Cómo puedo aplicar __attribute __ ((alineado (32))) a un int *?
En mi programa necesito aplicar__attribute__(( aligned(32))) a unaint * ofloat * Lo intenté así, pero no estoy seguro de que funcione. int *rarray __attribute__(( aligned(32)));Yo viesta ...