FERRAMENTAS LINUX: A Intel detalha o APX - Advanced Performance Extensions

terça-feira, 25 de julho de 2023

A Intel detalha o APX - Advanced Performance Extensions

 


Após o sucesso das Advanced Vector Extensions (AVX) e, mais recentemente, das Advanced Matrix Extensions (AMX) para aumentar o potencial de computação da CPU x86_64, a Intel apresentou agora os detalhes iniciais do APX: Advanced Performance Extensions.

As Extensões de Desempenho Avançado da Intel permitem o acesso a um maior número de registros e a adição de recursos adicionais para aprimorar o desempenho geral da CPU. De acordo com a Intel, o APX possibilitará ganhos de desempenho em uma ampla variedade de cargas de trabalho, sem aumentar significativamente o consumo de energia da CPU ou a área ocupada no silício.

Entre as primeiras características divulgadas pela Intel para o APX, destaca-se o aumento do número de registros de uso geral (GPRs) de 16 para 32. Isso possibilita que o compilador mantenha mais valores nos registros, resultando em uma redução de cerca de 10% no número de acessos à memória e mais de 20% menos operações de armazenamento em comparação com o código compilado para a linha de base Intel 64. Além disso, o acesso aos registros é mais rápido e consome menos energia dinâmica em comparação com operações complexas de carregamento e armazenamento.

A ativação do compilador é simples, utilizando um novo prefixo REX2 para fornecer acesso uniforme aos novos registradores em todo o conjunto de instruções de inteiros legados. As instruções Intel AVX obtêm acesso através de novos bits definidos no prefixo EVEX existente. Adicionalmente, as instruções legadas de inteiros agora também podem usar o prefixo EVEX para codificar um operando de registrador de destino dedicado, transformando-as em instruções de três operandos e reduzindo a necessidade de instruções extras de movimentação de registradores. Embora os novos prefixos aumentem o comprimento médio das instruções, o código compilado pelo APX possui cerca de 10% menos instruções, resultando em uma densidade de código similar à anterior.

Os novos GPRs são habilitados para XSAVE, permitindo que sejam salvos e restaurados automaticamente durante as trocas de contexto por meio das sequências XSAVE/XRSTOR. Isso não altera o tamanho e o layout da área XSAVE, já que ocupam o espaço deixado pelos registros obsoletos do Intel MPX.

A Intel também abordou a questão de desempenho relacionada a um grande número de erros de previsão de ramificação condicional. Com CPUs fora de ordem se tornando mais profundas e amplas, os custos de previsões incorretas têm um impacto significativo em determinadas cargas de trabalho. Para resolver esse problema crescente, a Intel expandiu o conjunto de instruções condicionais x86, introduzido inicialmente com o Intel® Pentium® Pro como instruções CMOV/SET. Essas instruções, usadas extensivamente pelos compiladores atuais, são agora mais abrangentes para permitir o uso mais amplo de conversões if (uma otimização do compilador que substitui desvios por instruções condicionais).

Em resumo, o Intel APX oferece 16 novos registradores de uso geral, formatos de instrução de três operandos com um novo registrador de destino de dados para várias operações de número inteiro, melhorias nas instruções condicionais ISA, operações otimizadas de salvamento/restauração de estado de registrador e uma nova instrução de salto direto absoluto de 64 bits.


No geral, o Intel Advanced Performance Extensions parece muito promissor do ponto de vista do desempenho, e é positivo que a ativação do compilador seja uma tarefa simples. Isso significa que, do lado do aplicativo de software no espaço do usuário, será apenas uma questão de recompilar o software sem nenhuma alteração de código esperada. Espera-se que o suporte do Intel APX para o Linux e software de cadeia de ferramentas de código aberto seja disponibilizado em um futuro próximo, juntamente com os processadores Intel compatíveis com o APX. A divulgação dos documentos técnicos do APX pela Intel é um passo importante para facilitar o desenvolvimento de patches de código aberto, que podem começar a surgir em breve.

Para obter mais informações sobre o Intel APX, você pode acessar a página Intel.com. Além disso, a Intel também anunciou o AVX10 como uma evolução do AVX-512 para as futuras CPUs, incluindo o suporte para designs de núcleo (core designs ) P e E, o que indica o contínuo investimento em extensões e recursos de desempenho por parte da Intel.




Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário