Resultados da pesquisa a pedido "sse"

2 a resposta

Como ativar a autovectorização sse3 no gcc

Eu tenho um loop simples com leva o produto de n números complexos. Ao executar esse loop milhões de vezes, quero que seja o mais rápido possível. Entendo que é possível fazer isso rapidamente usando intrínsecas SSE3 e gcc, mas estou interessado ...

1 a resposta

Como usar corretamente as instruções de pré-busca?

Estou tentando vetorizar um loop, computando o produto escalar de um grande vetor de flutuador. Estou computando em paralelo, utilizando o fato de que a CPU possui uma grande quantidade de registros XMM, assim: __m128* A, B; __m128 dot0, dot1, ...

1 a resposta

Quão mais rápidas são as instruções de sequência do SSE4.2 que o SSE2 para o memcmp?

Aqui está o assembler do meu código Você pode incorporá-lo em c ++ e verificar o SSE4? A velocidade Eu gostaria muito de ver como entrou no desenvolvimento do SSE4. Ou não está preocupado com ele? Vamos verificar (não tenho suporte acima do ...

1 a resposta

Multiplicação de matriz grande (0,1) usando AND bit a bit e popcount em vez de reais int ou float multiplica-se?

Para multiplicar matrizes binárias grandes (10Kx20K), o que costumo fazer é converter as matrizes em unidades flutuantes e executar a multiplicação da matriz flutuante, pois a multiplicação da matriz inteira é bem lenta (dê uma olhada ...

4 a resposta

O código SIMD é mais lento que o código escalar

elma eelmc são ambosunsigned long matrizes. Também sãores1 eres2. 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 ...

1 a resposta

diferença entre o registro MMX e XMM?

Atualmente, estou aprendendo programação de montagem no processador Intel x86. Alguém poderia me explicar, qual é a diferença entre o registro MMX e XMM? Estou muito confuso em termos de quais funções eles servem e a diferença e ...

3 a resposta

Melhorar o código YUV para RGB SSE (SSSE3)

Estou procurando otimizar algum código SSE que escrevi para converter YUV em RGB (funções planas e compactadas de YUV). Estou usando o SSSE3 no momento, mas se houver funções úteis das versões posteriores do SSE, tudo bem. Estou interessado ...

3 a resposta

Valores de 128 bits - dos registros XMM ao uso geral

Eu tenho algumas perguntas relacionadas à movimentação de valores XMM para registros de uso geral. Todas as questões encontradas no SO se concentram no oposto, a saber, a transferência de valores nos registros gp para o XMM. Como mover um valor ...

5 a resposta

SSE2: Função de log de precisão dupla

Preciso de implementação de código aberto (sem restrição de licença) da função de log, algo com assinatura __m128d _mm_log_pd(__m128d);Está disponível na Intel Short Vector Math Library (parte do ICC), mas o ICC não é gratuito nem de código ...

0 a resposta

Atomicidade por elemento da carga / armazenamento do vetor e coleta / dispersão?

Considere uma matriz comoatomic<int32_t> shared_array[]. E se você quiser SIMD vetorizarfor(...) sum += shared_array[i].load(memory_order_relaxed)? Ou para pesquisar em uma matriz o primeiro elemento diferente de zero ou zerar um intervalo dele? ...