Lançado compilador GCC 10.1

Um ano. Este foi o tempo que durou o desenvolvimento do novo compilador GCC 10.1. Esta é, portanto, a primeira versão importante na nova ramificação do GCC 10.x. Agora, o GCC adota uma nova numeração, tendo sido a 10.0 usada durante o desenvolvimento, como uma versão de testes. Com a chegada da 10.1, já começaram os trabalhos em cima dao GCC 11.0 que servirá de base para a estável 11.1.

A sigla GCC significa GNU Compiler Collection.  Este é um conjunto de compiladores criados pelo projeto GNU, sendo um software livre distribuído pela Free Software Foundation (FSF) sob a licença pública geral GPL.

Esses compiladores são amplamente utilizados na maioria dos sistemas Unix, inclusive versões comerciais como o Mac OS X.

O GCC exige que o conjunto de aplicativos conhecido como binutils execute tarefas como identificar ou redimensionar arquivos de objetos para copiar, traduzir ou criar listas, vincular a eles ou remover símbolos desnecessários.

O que há de novo no GCC 10.1

O GCC 10.1 se destaca pela implementação de muitas inovações da linguagem C ++ desenvolvidas para o padrão C ++ 20, melhorias relacionadas ao futuro padrão da linguagem C (C2x), novas otimizações nos back-ends do compilador e suporte experimental para o modo de análise estática.

Para linguagens C, C ++ e Fortran, é implementada a especificação de programação paralela OpenACC 2.6. Ela define ferramentas de download em GPUs e processadores especializados, como NVIDIA PTX.

Outra implementação quase finalizada é a que estabelece o padrão OpenMP 5.0 (Open Multi-Processing). Ela é quem define a API e os métodos para o uso de programação paralela em sistemas híbridos e com vários núcleos (CPU + GPU/DSP) com memória compartilhada e unidades de vetorização (SIMD).

Recursos como expressões condicionais lastprivate, diretivas de varredura e loop, expressões de comando e use_device_addr são adicionados. Para o OpenMP e o OpenACC , foi adicionado suporte de download nas GPUs AMD Radeon de quarta e quinta geração.

Para linguagens C, a função “acesso” foi adicionada para descrever o acesso à função de objetos passados por referência ou ponteiro e para associá-los a argumentos inteiros que contêm informações sobre o tamanho dos objetos.

Veja mais detalhes do compilador GCC 10.1 lançado

Para trabalhar em conjunto com “acesso”, o atributo “tipo” é implementado para detectar acesso incorreto das funções do usuário, por exemplo, gravando valores em uma área fora dos limites da matriz. O atributo symver também foi adicionado para vincular caracteres no arquivo ELF a números de versão específicos.

Para C ++, foram implementadas cerca de 16 mudanças e inovações desenvolvidas no padrão C ++ 20incluindo a palavra-chave “constinit”.

No modo de otimização “-O2”, a opção “-finline-functions” está ativada, que é reconfigurada para um código mais compacto do que para o desempenho.

Ele também destaca a otimização da melhoria link (LTO) e acrescentou um novo arquivo lto-dump executável para informações de despejo de cerca de arquivos objeto com LTO bytecode. Nas passagens paralelas do LTO, você pode determinar automaticamente o número de tarefas de tempo de execução executadas simultaneamente e, se não puderem ser determinadas, usar informações sobre o número de núcleos da CPU como fator de paralelização.

O mecanismo de otimização foi aprimorado e baseia-se nos resultados da criação de perfil de código (PGO), que gera um código mais ideal com base na análise das características da execução do código.

Se você quiser saber mais sobre isso, verifique os detalhes deste lançamento no link a seguir.

Desde Linux

Share This Article
Follow:
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.
Sair da versão mobile