O GCC 15 traz uma importante atualização para otimizar ainda mais o desempenho das CPUs AMD Zen 4 e Zen 5. A novidade, chamada de “X86_TUNE_AVX512_TWO_EPILOGUES”, foi desenvolvida por Richard Biener, engenheiro da SUSE, e promete melhorias significativas em performance e tamanho de código ao compilar aplicativos para essas arquiteturas.
O que é a otimização “x86_tune_avx512_two_epilogues”?
A nova otimização ajusta o comportamento do vetorizador para gerar epílogos em AVX2 e SSE para laços vetorizados com AVX512. Isso evita que determinados trechos de código sejam desvetorizados, como identificado em benchmarks específicos, incluindo o SPEC CPU 2017. No caso do teste 525.x264_r, a ausência de um epílogo AVX2 resultava em código não vetorizado, comprometendo o desempenho.
Impactos práticos da otimização
Embora não tenham sido divulgados números detalhados sobre os ganhos de desempenho, a própria implementação foi validada como “positiva” nos benchmarks, tanto em performance quanto em redução do tamanho do código gerado. Essa otimização está habilitada por padrão para CPUs AMD Zen 4 e Zen 5, demonstrando um avanço nas configurações de compilação direcionadas a essas arquiteturas modernas.
Implementação no gcc 15
A otimização foi integrada à árvore de código do GCC e estará disponível na versão estável GCC 15.1, prevista para os primeiros meses de 2025.
Por que isso importa?
Com essa melhoria, desenvolvedores que utilizam CPUs AMD Zen 4 e Zen 5 podem esperar compilações mais eficientes e código com melhor desempenho em aplicações intensivas. Além disso, iniciativas como essa fortalecem a competitividade da AMD no mercado de CPUs de alto desempenho.
Saiba mais
Para detalhes técnicos, acesse o commit oficial no Git do GCC.