FERRAMENTAS LINUX: O Parallelizing GCC's Interno continua a ser trabalhado e mostrando um potencial promissor

sexta-feira, 27 de setembro de 2019

O Parallelizing GCC's Interno continua a ser trabalhado e mostrando um potencial promissor



Confira !!

Um dos projetos mais interessantes do Google Summer of Code deste ano foi o esforço do aluno para trabalhar em paralelos internos do GCC para lidar com melhor desempenho, principalmente ao lidar com arquivos de origem muito grandes. Felizmente - considerando as CPUs de desktop de hoje até aumentando suas contagens principais - esse esforço paralelo do GCC está sendo continuado.

O desenvolvedor do aluno Giuliano Belinassi fez um bom trabalho no projeto neste verão e continua a se envolver no esforço. Giuliano apresentou na conferência GNU Tools Cauldron 2019 deste mês sobre o trabalho realizado até agora, como está o desempenho e o que mais resta a ser realizado.

O trabalho de paralelização começou na parte intermediária, independente de hardware, do GNU Compiler e, em particular, com a otimização Intra-Procedural Optimization, já que era ali que passava a maior parte do tempo analisando o tempo para criar o grande arquivo de origem de correspondência de gimple.

Quando se tratava de paralelizar o GIMPLE, foi observada uma aceleração de 2,52x com quatro threads para a execução do passe IPA, enquanto o tempo real do GCC foi uma melhoria de 1,09x. Ao avançar ainda mais com o RTL paralelo, houve uma aceleração de 1,6x no tempo de compilação. Isso também é "sem muita otimização", pois ainda há muitas oportunidades. Obviamente, não espere essas acelerações para todos os arquivos de origem, mas o principal benfeitor é o uso do GCC para compilar arquivos de origem muito grandes.



Aqueles que desejam aprender mais sobre esse esforço podem ver o deck de slides em PDF de Belinassi e a gravação da apresentação acima.

Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário