Resultados da pesquisa a pedido "avx"

0 a resposta

Como executar com eficiência conversões duplas / int64 com SSE / AVX?

O SSE2 possui instruções para converter vetores entre flutuadores de precisão única e números inteiros de 32 bits. _mm_cvtps_epi32()_mm_cvtepi32_ps()Mas não há equivalentes para números inteiros de precisão dupla e 64 bits. Em outras palavras, ...

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? ...

1 a resposta

A maneira mais rápida de descompactar 32 bits em um vetor SIMD de 32 bytes

Tendo 32 bits armazenados em umuint32_t na memória, qual é a maneira mais rápida de descompactar cada bit em um elemento de byte separado de um registro AVX? Os bits podem estar em qualquer posição dentro de seus respectivos bytes. Edit: para ...

1 a resposta

Diferença entre as instruções AVX vxorpd e vpxor

De acordo comGuia intrínseco da Intel [https://software.intel.com/sites/landingpage/IntrinsicsGuide/], vxorpd ymm, ymm, ymm: Calcule o XOR bit a bit dos elementos de ponto flutuante de precisão dupla compactada (64 bits) em aeb, e armazene os ...

1 a resposta

Intel SIMD - Como posso verificar se um __m256 * contém valores diferentes de zero

Estou usando o compilador Microsoft Visual Studio. Estou tentando descobrir se um vetor de 256 bits contém valores diferentes de zero. eu tenteires_simd = ! _mm256_testz_ps(*pSrc1, *pSrc1); mas não funciona.

1 a resposta

AVX: alinhamento de dados: falha na loja, storeu, load, loadu não

Estou modificando a RNNLM como uma rede neural para estudar o modelo de linguagem. No entanto, dado o tamanho do meu corpus, ele está correndo muito devagar. Tentei otimizar a rotina do vetor da matriz * (que é responsável por 63% do tempo total ...

1 a resposta

Wrapper para `__m256` produzindo falha de segmentação com construtor - Windows 64 + MinGW + AVX Issues

Eu tenho uma união que se parece com isso union bareVec8f { __m256 m256; //avx 8x float vector float floats[8]; int ints[8]; inline bareVec8f(){ } inline bareVec8f(__m256 vec){ this->m256 = vec; } inline bareVec8f &operator=(__m256 m256) { ...

1 a resposta

Quantos ciclos de clock custam exponenciação AVX / SSE na moderna CPU x86_64?

Quantos ciclos de clock custam exponenciação AVX / SSE na moderna CPU x86_64? Eu estou prestes:pow(x, y) = exp(y*log(x)) [https://stackoverflow.com/questions/25936031/pow-for-sse-types] I.e. faz ambosexp() elog() As instruções AVX x86_64 ...

1 a resposta

Carregando 8 caracteres da memória em uma variável __m256, como flutuadores de precisão única compactados

Estou otimizando um algoritmo para desfoque gaussiano em uma imagem e quero substituir o uso de um buffer flutuante [8] no código abaixo por uma variável intrínseca __m256. Que série de instruções é mais adequada para esta tarefa? // unsigned ...

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 é, ...