El compilador GCC 10.1 ja és aquí i aquestes són les seves principals novetats

Després d'un any de desenvolupament es va publicar el llançament de la nova versió del conjunt gratuït de compiladors GCC 10.1, Sent aquest el primer llançament significatiu en la nova branca de GCC 10.x.

D'acord amb el nou esquema de numeració de la versió, la versió 10.0 es va utilitzar durant el procés de desenvolupament i poc abans de el llançament de GCC 10.1, la branca GCC 11.0 ja es va ramificar, sobre la base de la qual es formarà la propera versió significativa de GCC 11.1.

Per als qui desconeixen de GCC (GNU Compiler Collection) han de saber que iAquest és un conjunt de compiladors creats pel projecte GNU, És programari lliure i el distribueix la Free Software Foundation (FSF) sota la llicència general pública GPL.

Aquests compiladors són àmpliament utilitzats en la majoria dels sistemes Unix a tal grau que es consideren un estàndard per a sistemes operatius Unix i derivats de codi obert i també de propietaris, com Mac OS X.

GCC requereix el conjunt d'aplicacions conegut com binutils per realitzar tasques com identificar arxius objecte o obtenir la seva grandària per copiar-los, traduir-los o crear llistes, enllaçar-los, o llevar-los símbols innecessaris.

Novetats en GCC 10.1

GCC 10.1 destaca per la implementació de moltes innovacions de el llenguatge C ++ desenvolupat per a l'estàndard C ++ 20, millores relacionades amb el futur estàndard de el llenguatge C (C2x), noves optimitzacions en els backends de compilador i suport experimental per a la manera d'anàlisi estàtic.

Per als llenguatges C, C ++ i Fortran, s'implementa l'especificació de programació paral·lela OpenACC 2.6, Que defineix eines de descàrrega en GPU i processadors especialitzats com NVIDIA PTX.

La implementació de l'estàndard OpenMP 5.0 (Open Multi-Processing), que defineix l'API i els mètodes per utilitzar mètodes de programació paral·lela en sistemes multi-core i híbrids (CPU + GPU / DSP) amb memòria compartida i unitats de vectorització (SIMD), està gairebé acabada.

S'agreguen característiques com expressions condicionals lastprivate, directives d'escaneig i bucle, ordre i expressions use_device_addr. Per OpenMP i OpenACC, Es va agregar suport per a la descàrrega en les GPU AMD Radeon de quarta generació i cinquena generació.

Per als llenguatges C, la funció «access» s'ha afegit per descriure l'accés a la funció dels objectes passats per referència o punter i per associar aquests objectes amb arguments sencers que contenen informació sobre la mida dels objectes.

Per treballar juntament amb «access», l'atribut «type» s'implementa per detectar l'accés incorrecte des de les funcions de l'usuari, per exemple, a l'escriure valors en una àrea fora dels límits de la matriu. L'atribut symver també s'ha afegit per vincular caràcters a l'arxiu ELF a nombres de versió específics.

Per a C ++, s'han implementat al voltant de 16 canvis i innovacions desenvolupades en l'estàndard C ++ 20 incloent-hi la paraula clau «constinit» que s'agrega i s'implementa el suport per expandir les plantilles «concepte»Que permeten definir un conjunt de requisits per a paràmetres de plantilla, que durant la compilació limiten el conjunt d'arguments que es poden prendre com a paràmetres de plantilla.

A més es destaquen les optimitzacions interprocedurales millorades, IPA-SRA s'ha redissenyat perquè funcioni durant l'enllaç i entre altres coses, ara elimina els valors calculats i retornats no utilitzats.

En la manera d'optimització «-O2», s'habilita l'opció «-finline-functions», que es reconfigura per obtenir un codi més compacte que per al rendiment.

També es destaca la optimització d'enllaç millorada (LTO), si va agregar un nou arxiu executable lto-dump per bolcar informació sobre arxius d'objectes amb codi de bytes LTO. En passades paral·lels de LTO, és possible determinar automàticament el nombre de tasques d'execució executades simultàniament i, si no es poden determinar, utilitzar informació sobre el nombre de nuclis de CPU com a factor de paral·lelització.

El mecanisme d'optimització va ser millorat i es basa en els resultats de la creació de perfils de codi (PGO), que genera un codi més òptim basat en una anàlisi de les característiques de l'execució de el codi.

Si vols conèixer més a l'respecte, pots consultar els detalls d'aquest llançament en el següent enllaç. 


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.