Resultados da pesquisa a pedido "avx"

2 a resposta

Convenção para exibição de registros vetoriais

Existe uma convenção para exibir / gravar registros grandes, como os disponíveis no conjunto de instruções do Intel AVX? Por exemplo, se você tiver 1 no byte menos significativo e 20 no byte mais significativo e 0 em outro lugar de umxmm ...

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

3 a resposta

Como resolver o problema de alinhamento de 32 bytes nas operações de carregamento / armazenamento do AVX?

Estou tendo problemas de alinhamento ao usarymm registra, com alguns trechos de código que me parecem bons. Aqui está um exemplo de trabalho mínimo: #include <iostream> #include <immintrin.h> inline void ones(float *a) { __m256 out_aligned = ...

2 a resposta

Verificando se o SSE é suportado no tempo de execução [duplicado]

Esta pergunta já tem uma resposta aqui: Como verificar se uma CPU suporta o conjunto de instruções SSE3? [/questions/6121792/how-to-check-if-a-cpu-supports-the-sse3-instruction-set] 5 respostasdespachante cpu para visual studio para AVX e ...

1 a resposta

existe uma instrução inversa à instrução movemask no intel avx

As instruções movemask usam um __m256i e retornam um int32 em que cada bit (os primeiros 4, 8 ou todos os 32 bits, dependendo do tipo de elemento do vetor de entrada) é o bit mais significativo do elemento vetorial correspondent Gostaria de ...

2 a resposta

As diferentes versões mmx, sse e avx são complementares ou superconjuntos?

Estou pensando em me familiarizar com as extensões x86 SIMD. Mas antes mesmo de começar, tive problemas. Não consigo encontrar uma boa visão geral sobre quais deles ainda são relevantes. A arquitetura x86 acumulou muitas extensões de matemática ...

4 a resposta

as variáveis SSE / AVX locais estáticas / estáticas estão bloqueando um registro xmm / ymm?

Ao usar intrínsecas SSE, geralmente são necessários zero vetores. Uma maneira de evitar a criação de uma variável zero dentro de uma função sempre que a função é chamada (cada vez que efetivamente chamamos alguma instrução vetorial xor) ...

2 a resposta

seletivamente copiar elementos de uma lista com instruções do AVX2

Desejo acelerar a operação a seguir com as instruções do AVX2, mas não consegui encontrar uma maneira de fazê-lo. Recebo uma grande variedadeuint64_t data[100000] de uint64_t e uma matrizunsigned char indices[100000] de bytes. Eu quero gerar uma ...

2 a resposta

Usando registros ymm como um local de armazenamento "semelhante à memória"

Considere o seguinte loop em x86: ; on entry, rdi has the number of iterations .top: ; some magic happens here to calculate a result in rax mov [array + rdi * 8], rax ; store result in output array dec rdi jnz .topÉ simples: algo calcula um ...

1 a resposta

As operações escalares do AVX são muito mais rápidas

Eu testo a seguinte função simples void mul(double *a, double *b) { for (int i = 0; i<N; i++) a[i] *= b[i]; }com matrizes muito grandes para que ele seja vinculado à largura de banda da memória. O código de teste que eu uso está abaixo. Quando ...