Resultados da pesquisa a pedido "avx"
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 ...
O relatório perf mostra que esta função “__memset_avx2_unaligned_erms” possui sobrecarga. isso significa que a memória está desalinhada?
Estou tentando criar um perfil do meu código C ++ usando a ferramenta perf. A implementação contém código com instruções SSE / AVX / AVX2. Além desse código, é compilado com-O3 -mavx2 -march=native bandeiras. Acredito__memset_avx2_unaligned_erms ...
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 = ...
Como mover o dobro em% rax para uma determinada posição qword em% ymm ou% zmm? (Kaby Lake ou posterior)
A ideia é que eu gostaria de coletar valores retornados dedouble em um registro vetorial para processamento para máquinaimm width de uma vezsemarmazenando de volta na memória primeiro. O processamento específico é umvfma com outros dois ...
Como escrever código c ++ que o compilador pode compilar com eficiência para SSE ou AVX?
Digamos que eu tenha uma função escrita em c ++ que execute multiplicações de vetores de matriz em muitos vetores. É necessário um ponteiro para a matriz de vetores a ser transformada. Estou correto ao supor que o compilador não pode otimizar ...
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 ...
Gere automaticamente instruções FMA no MSVC
MSVC suporta instruções AVX / AVX2 há anos e de acordo comesta postagem no blog msdn [http://blogs.msdn.com/b/vcblog/archive/2014/02/28/avx2-support-in-visual-studio-c-compiler.aspx] , ele pode gerar automaticamenteFMA (Multiplicado com ...
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 é, ...
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 ...
A maneira mais eficiente de obter __m256 de somas horizontais de 8 fonte __m256 vetores
Eu sei somar um__m256 para obter um único valor somado. No entanto, tenho 8 vetores como Input 1: a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], ....., ....., 8: h[0], h[1], h[2], h[3], h[4], a[5], a[6], ...