Resultados da pesquisa a pedido "avx"
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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) ...
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 ...
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 ...