Resultados da pesquisa a pedido "simd"

2 a resposta

Como converter com eficiência um bitmap de 8 bits em uma matriz de números inteiros 0/1 com x86 SIMD

Eu quero converter inteiro de 8 bits em uma matriz de tamanho 8 com cada valor contendo o valor de bit de um inteiro. Por exemplo: eu tenhoint8_t x = 8; Eu quero converter isso paraint8_t array_x = {0,0,0,0,1,0,0,0}; Isso deve ser feito com ...

2 a resposta

Instruções SIMD para comparação de igualdade de ponto flutuante (com NaN == NaN)

Quais instruções seriam usadas para comparar dois vetores de 128 bits que consistem em valores de ponto flutuante de 4 * 32 bits? Existe uma instrução que considere igual o valor de NaN em ambos os lados? Caso contrário, qual o tamanho do ...

1 a resposta

Quais são as melhores seqüências de instruções para gerar constantes vetoriais em tempo real?

"Melhor" significa o menor número de instruções (ou o menor número de uops, se houver alguma instrução decodificada para mais de um uop). O tamanho do código da máquina em bytes é um desempatador para igual número de insn. A geração constante é, ...

2 a resposta

Como implementar atoi usando SIMD?

Eu gostaria de tentar escrever uma implementação atoi usando instruções SIMD, para ser incluída noRapidJSON [http://rapidjson.org/](uma biblioteca de leitor / gravador C ++ JSON). Atualmente, há algumas otimizações do SSE2 e SSE4.2 em outros ...

2 a resposta

Os índices de bytes diferentes de zero de um registro SSE / AVX

Se o valor de um registro SSE / AVX for tal que todos os seus bytes sejam 0 ou 1, existe alguma maneira de obter com eficiência os índices de todos os elementos diferentes de zero? Por exemplo, se o valor xmm for | r0 = 0 | r1 = 1 | r2 = 0 | r3 ...

1 a resposta

Como posso aplicar __atributo __ ((alinhado (32))) a um int *?

No meu programa eu preciso me inscrever__attribute__(( aligned(32))) para umint * oufloat * Eu tentei assim, mas não tenho certeza se funcionará. int *rarray __attribute__(( aligned(32)));eu viesta ...

3 a resposta

Como você carrega / armazena de / para uma matriz de duplas com as Extensões de Vetor GNU

Estou a usarGNU C extensões de vetor [https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html], não da Intel_mm_* intrínseca. Quero fazer a mesma coisa que a Intel_m256_loadu_pd intrínseco. Atribuir os valores um a um é lento: o gcc produz ...

1 a resposta

_mm_testc_ps e _mm_testc_pd vs _mm_testc_si128

Como você sabe, os dois primeiros são intrínsecos específicos ao AVX e o segundo é um intrínseco SSE4.1. Ambos os conjuntos de intrínsecos podem ser usados para verificar a igualdade de 2 vetores de ponto flutuante. Meu caso de uso específico ...

1 a resposta

or que algumas latências do Haswell AVX anunciadas pela Intel são 3x mais lentas que o Sandy Bridg

Na Intelintrinsics ...

1 a resposta

Como acelerar este histograma de pesquisas LUT?

Primeiro, eu tenho uma matrizint a[1000][1000]. Todos esses números inteiros estão entre 0 e 32767 e são constantes conhecidas: eles nunca mudam durante uma execução do program Segundo, eu tenho uma matriz b [32768], que contém números inteiros ...