Resultados da pesquisa a pedido "simd"
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 ...
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 ...
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 é, ...
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 ...
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 ...
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 ...
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 ...
_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 ...
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 ...