Resultados da pesquisa a pedido "sse"
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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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? ...