A Intel postou seu novo APX (Extensões de desempenho avançado) hoje e também divulgou o novo AVX10 [PDF] que trará suporte unificado para recursos AVX-512 para P-Cores e E-Cores pela primeira vez. Essa evolução do conjunto de instruções AVX ajudará a Intel a contornar os graves problemas encontrados com sua nova arquitetura híbrida x86 encontrada nos processadores Alder e Raptor Lake.
No entanto, este novo ISA não será compatível com os processadores de geração atual da Intel – está programado para chegar em chips futuros. A Intel diz que o AVX10 será seu vetor ISA de escolha no futuro, tanto para processadores de consumo quanto para servidores.
Em seu nível mais básico, o AVX10 permitirá que os chips da Intel que possuem E-cores e P-cores ainda suportem o AVX-512, embora as instruções de 512 bits só possam ser executadas em P-cores. Enquanto isso, as instruções convergentes de 256 bits podem ser executadas nos p-cores ou nos e-cores, permitindo assim que o chip completo ainda tenha suporte para os recursos do AVX-512.
O AV10 (Advanced Instruction Extensions 10) ISA é um superconjunto do AVX-512 e vem com todos os recursos do AVX-512 ISA para processadores com tamanhos de registro vetorial de 256 bits e 512 bits.
O AVX10 ISA convergido incluirá “instruções vetoriais AVX-512 com um sinalizador de recurso AVX512VL, um comprimento máximo de registro vetorial de 256 bits, bem como oito registros de máscara de 32 bits e novas versões de instruções de 256 bits com suporte para arredondamento incorporado”, e esta versão será executada em p-cores e e-cores.
No entanto, os e-cores serão limitados ao comprimento máximo de vetor de 256 bits convergido do AVX10, enquanto os P-cores podem usar vetores de 512 bits. Isso parece semelhante ao suporte do Arm para larguras vetoriais variáveis com SVE.
A Intel diz que os aplicativos existentes fornecerão o mesmo nível de desempenho com o AVX10 e com o AVX-512, pelo menos com os mesmos comprimentos de vetor. A Intel também afirma:
- Os aplicativos compilados para Intel AVX2, recompilados para Intel AVX10, devem obter ganhos de desempenho sem a necessidade de ajuste de software adicional.
- Os aplicativos Intel AVX2 sensíveis à pressão do registro vetorial obterão o máximo desempenho devido aos 16 registros vetoriais adicionais e às novas instruções.
- É provável que aplicativos vetorizáveis altamente encadeados alcancem maior taxa de transferência agregada quando executados em processadores Intel Xeon baseados em E-core ou em produtos Intel com arquitetura híbrida de desempenho.
A Intel suportará AVX10 versão 1 (AVX10.1) começando com seus chips Xeon “Granite Rapids” de sexta geração, mas essa geração suportará apenas instruções vetoriais de 512 bits, e não as novas instruções vetoriais convergentes de 256 bits. Em vez disso, esta primeira geração servirá como chip de transição do AVX-512 para o AVX10.
O AVX10.2 oferecerá suporte a comprimentos de vetores de 256 bits e outros novos recursos, como novos tipos e conversões de dados AI, otimizações de movimentação de dados e suporte a padrões. Todos os futuros processadores Xeon continuarão a oferecer suporte total a todas as instruções do AVX-512 para garantir que os aplicativos legados funcionem normalmente.
Para abordar o feedback do desenvolvedor, a Intel também planeja simplificar significativamente seus métodos de enumeração AVX10 em comparação com o AVX-512, e a Intel também planeja garantir que cada mudança para uma nova revisão tenha novas instruções e recursos suficientes para merecer uma mudança, reduzindo assim o inchaço da versão e da enumeração.
A Intel congelará o AVX-512 ISA quando o AVX10 for lançado, e todo uso futuro das instruções do AVX-512 ocorrerá por meio do AVX10 ISA.