Resultados da pesquisa a pedido "simd"

5 a resposta

Otimizando a compactação de matriz

Digamos que eu tenho uma matrizk = [1 2 0 0 5 4 0] Eu posso calcular uma máscara da seguinte formam = k > 0 = [1 1 0 0 1 1 0] Usando apenas a máscara me as seguintes operações Shift esquerda / direita E / ou Adicionar / Subtrair / Multiplicar ...

2 a resposta

Uma variável __m128i é zero?

Como testar se um__m128i tem algum valor diferente de zero nos processadores SSE-2 e anteriore

3 a resposta

SSE multiplicação 16 x uint8_t

Quero multiplicar com SSE4 a__m128i objeto com 16 números inteiros de 8 bits não assinados, mas só consegui encontrar um intrínseco para multiplicar números inteiros de 16 bits. Não existe nada como_mm_mult_epi8?

2 a resposta

NEON vectorize a soma dos produtos de bytes não assinados: (a [i] -int1) * (b [i] -int2)

Preciso melhorar um loop, porque é chamado pelo meu aplicativo milhares de vezes. Acho que preciso fazer isso com o Neon, mas não sei por onde começar. Pressupostos / pré-condições: w é sempre 320 (múltiplo de 16/32pa epb são alinhados por 16 ...

3 a resposta

adicionando os componentes de um registro SSE

Quero adicionar os quatro componentes de um registro SSE para obter um único flutuador. É assim que faço agora: float a[4]; _mm_storeu_ps(a, foo128); float x = a[0] + a[1] + a[2] + a[3]; Existe uma instrução SSE que alcança isso diretament

2 a resposta

Como converter _m128i em um int sem assinatura com SSE?

Eu criei uma função para posterizar imagens. // =( #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( ...

3 a resposta

SESE mais lento que o FPU?

Tenho um grande pedaço de código, parte de cujo corpo contém esse pedaço de código: result = (nx * m_Lx + ny * m_Ly + m_Lz) / sqrt(nx * nx + ny * ny + 1);que eu vectorizei da seguinte forma (tudo já é umfloat): __m128 r = ...

2 a resposta

A preferência do SIMD é sempre se livrar da ramificaçã

Se você estiver escrevendo algum código SIMD que será executado por outro programa, é sempre favorável livrar-se da ramificação para aumentar o desempenho? Ouvi dizer que mesmo fazendo operações extras apenas para evitarif/else instruções, etc, ...

4 a resposta

SE: converte inteiro curto para float

Quero converter uma matriz de números curtos não assinados para flutuar usando o SSE. Digamo __m128i xVal; // Has 8 16-bit unsigned integers __m128 y1, y2; // 2 xmm registers for 8 float valuesQuero primeiro 4 uint16 em y1 e próximos 4 uint16 ...

4 a resposta

Número de unidades de computação correspondentes ao número de grupos de trabalho

Preciso de alguns esclarecimentos. Estou desenvolvendo o OpenCL no meu laptop executando uma pequena GPU nvidia (310M). Quando eu consulto o dispositivoCL_DEVICE_MAX_COMPUTE_UNITS, o resultado é 2. Li que o número de grupos de trabalho para ...