Após o Znver4 ser adicionado ao GCC 13 no final de outubro, embora seja uma implementação básica, esta semana é um patch de acompanhamento para começar a fazer mais adaptações ao alvo AMD Zen 4.

O suporte inicial Znver4 que foi mesclado ao compilador GCC adicionou as novas instruções do Zen 4 agora suportadas por esses novos processadores Ryzen 7000 e EPYC 9004, mas ainda não fez nada na forma de ajuste e carregou a tabela de custos de Zen 3. A otimização desse suporte agora está sendo trabalhada pelos engenheiros da AMD.

O novo patch lançado esta semana adiciona as reservas de instrução do Zen 4 para melhor adaptação do agendamento do Znver4 para o hardware. Tejas Sanjay Joshi, da AMD, escreveu com o patch:

PFA o patch que adiciona reservas de instrução znver4 separadamente das versões mais antigas do znver:
* Isso também modela unidades div, fdiv e ssediv separadas de acordo.
* Não aumenta o tamanho do insn-automata.cc (aumentou de 201502 para 206141 para mim.)
* O patch é compilado, inicializado e aprovado com sucesso.
* Também executei especificações, mostrando nenhuma regressão para execuções de 1 cópia e 3 iterações. No entanto, observo um ganho de 1,5% para 507.cactuBSSN_r.

Tudo bem para porta-malas?

O desenvolvimento de recursos do GCC 13 acabou e agora está em sua fase de correção de bugs, mas como o Znver4 é novo no GCC 13, ele não deve correr o risco de regredir o suporte existente e, portanto, presumivelmente este patch-e qualquer outro trabalho futuro-irá continue a pousar para ajudar o suporte do Zen 4 no GCC 13.

O GCC 13 com este suporte inicial do Zen 4, por sua vez, deve estar estável por volta de março a abril. Ou para aqueles que desejam suporte otimizado ao compilador Zen 4 agora, existe o compilador AOCC 4.0 da AMD construído sobre LLVM/Clang.

Categories: IT Info