GCC 12 kääntäjä tekee sen vakaan käyttöönoton tulevissa parannuksissa. Kääntäjän viimeisen”vaiheen 4″kehityksen aikana keskityttiin regressiokorjauksiin, mutta viime hetken AMD Zen 3:n (znver3) viritys on tehty.

SUSE:n Jan Hubicka, joka on vastannut suuresta osasta AMD:n Zen-viritystyötä GNU Compiler Collection-kokoelmalle, teki pienen säädön tällä viikolla Znver3:een.

Znver3-muutos tällä viikolla on Keräysohjeiden poistaminen käytöstä vektoreille, joissa on 2 tai 4 elementtiä. Tämä ilmeisesti johtui Zen 3:n profiloinnista käyttäytymisen hyötyjen punnitsemisessa. Mitään vertailulukuja ei kuitenkaan jaettu osana koodisitoumusta. Sillä ei todennäköisesti ole merkittävää vaikutusta todelliseen suorituskykyyn. Keräyskäskyjen käyttö on tuottanut ristiriitaisia ​​tuloksia eri prosessorien mikroarkkitehtuureissa – viime vuonna”optimointikorjauksena”Hubicka alun perin mahdollisti keräysohjeiden käytön Zen 3:lle, koska se auttoi joitain vertailuarvoja, mutta nyt käy ilmi, että se ei aina pidä paikkaansa. joten joissakin tapauksissa estäminen.

Vaikka GCC 12 on tämän merkittävän avoimen lähdekoodin kääntäjän vuotuinen ominaisuusjulkaisu, tässä julkaisussa ei ole juurikaan tekemistä Zen 3-lisätyön tiellä. AMD puristi SUSE:n avulla Znver3-virityksen GCC 11:een vain viikkoja ennen tuon kääntäjän julkaisua viime vuonna. Tämä viritystyö jatkui EPYC 7003-sarjan julkaisuun asti, kuukausia alkuperäisen Ryzen 5000-sarjan esittelyn jälkeen. Tämän Znver3:n alun työskentelyn jälkeen GCC 12:lle ei ole ollut paljoakaan. Itse asiassa vain yksi uusi korjaustiedosto GCC 12:lle tämän viikon keräilyn eston lisäksi.

Kaikki”znver3″Zen 3 sitoutuu GCC-koodikantaan. Yksikään Znver4 ei ole vielä sitoutunut.

Kuten jo mainittiin, GCC 12:lle ei ole olemassa AMD Zen 4 (znver4)-kohdetta/-viritystä. AMD julkaisi kauan sitten kääntäjien virityskorjauksia ennen CPU-julkaisuja, mutta se ei ole onnistunut. Näin ei ole ollut viime aikoina, ja ne näyttävät keskittyvän ensisijaisesti optimoituun AMD-suorittimen kääntäjätukeen talon sisäisellä LLVM/Clang-downstream-toiminnolla: AMD Optimizing C/C++ Compiler (AOCC). Zen 4-suorittimien toimitukset alkavat myöhemmin tänä vuonna, mutta valitettavasti nyt on odotettava GCC 13:a ensi vuonna (tai siirretty takaisin myöhempään GCC 12-pisteen julkaisuun, jota eri jakelut eivät noudata liian nopeasti)-box-Zen 4-viritystuki.

Verrattuna Intel sai alkuperäisen Alder Lake-ja Sapphire Rapids-tuen GCC:hen vuonna 2020 ja on jatkanut koodin parissa työskentelemistä. Intelin oikea-aikainen kääntäjän käyttöönotto sekä GCC:lle että LLVM/Clangille ennen julkaisua on yksi monista avoimen lähdekoodin/Linux-ohjelmistojen tuen arvoista. Tämä on ollut heidän jatkuva perinne useiden vuosien ajan.

Sillä välin Intel on työskennellyt GCC-kääntäjän tuen parissa avoimesti Sapphire Rapidsille ja Alder Lakelle vuoden 2020 puolivälistä lähtien ja sen seurauksena GCC 11/12 Niillä on jo”sapphirerapids”-ja”alderlake”-kohteet viritysvalmiina käyttöön, julkaistuissa kääntäjissä ennen julkaisua ja nämä kääntäjät löytyvät oletuksena nykyaikaisista Linux-jakeluista.

Categories: IT Info