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 do Znver4 que foi mesclado ao compilador GCC adicionou as novas instruções do Zen 4 agora suportadas por esses novos processadores da série Ryzen 7000 e EPYC 9004, mas ainda não fez nada na forma de ajuste e carregou a tabela de custos do 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 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 compila, inicializa e passa na verificação com êxito.
* 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.
Serve 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 - continuará chegando para ajudando o suporte do Zen 4 no GCC 13.
O GCC 13 com esse 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.
Até a próxima !!
Nenhum comentário:
Postar um comentário