Resultados da pesquisa a pedido "avx"

2 a resposta

FMA3 no GCC: como ativar

Eu tenho um i5-4250U que possui AVX2 e FMA3. Estou testando algum código denso de multiplicação de matrizes no GCC 4.8.1 no Linux, que escrevi. Abaixo está uma lista de três maneiras diferentes de compilar. SSE2: gcc matrix.cpp -o matrix_gcc -O3 ...

2 a resposta

transmissões SIMD implícitas (SSE / AVX) com o GCC

Consegui converter a maior parte do meu código SIMD para as extensões de vetor do GCC. No entanto, não encontrei uma boa solução para fazer uma transmissão da seguinte maneira __m256 areg0 = _mm256_broadcast_ss(&a[i]);eu quero fazer __m256 ...

1 a resposta

Aritmética de ponto flutuante de meia precisão em chips Intel

É possível executar aritmética de ponto flutuante de meia precisão em chips Intel? Eu sei como carregar / armazenar / converter números de ponto flutuante de meia precisão [1], mas não sei como adicioná-los / multiplicá-los sem converter ...

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

2 a resposta

Medindo a largura de banda da memória do produto escalar de duas matrizes

O produto escalar de duas matrizes for(int i=0; i<n; i++) { sum += x[i]*y[i]; }não reutiliza dados, portanto deve ser uma operação ligada à memória. Portanto, devo poder medir a largura de banda da memória do produto escalar. Usando o código ...

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

Largura de banda da memória L1: queda de 50% na eficiência usando endereços que diferem em 4096 + 64 bytes

Desejo obter a largura de banda máxima das seguintes operações com os processadores Intel. for(int i=0; i<n; i++) z[i] = x[i] + y[i]; //n=2048onde x, ye z são matrizes flutuantes. Estou fazendo isso nos sistemas Haswell, Ivy Bridge e ...

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

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

2 a resposta

símbolo externo não resolvido __mm256_setr_epi64x

Escrevi e depurei algum código AVX com g ++ e agora estou tentando fazê-lo funcionar com o MSVC, mas continuo recebendo erro LNK2019: símbolo externo não resolvido __mm256_setr_epi64x referido na função "private: union __m256i __thiscall ...