Projekiti yekuwedzera rutsigiro rwekuenzanisa nzira yekubatanidza kuGCC

Sechikamu chepurojekiti yekutsvaga Parallel GCC Basa ratanga kuwedzera chimiro kuGCC chinobvumira maitiro ekubatanidza kuti apatsanurwe kuita akati wandei tambo dzakafanana. Parizvino, kuti uvandudze kumhanya kwekuvaka pane akawanda-musimboti masisitimu, iyo make utility inoshandisa kuvhurwa kweakasiyana compiler maitiro, imwe neimwe inovaka yakaparadzana kodhi faira. Iyo purojekiti nyowani iri kuyedza nekupa parallelization padanho recompiler, izvo zvinozogona kuvandudza mashandiro pane akawanda-epakati masisitimu.

Zvekuyedza yakagadzirirwa bazi rakasiyana rinoenderana reGCC, iro rinopa parameter nyowani β€œ-param=num-threads=N” kuseta nhamba yeshinda. Padanho rekutanga, takaita kufambisa kwe interprocedural optimizations kuita tambo dzakasiyana, dzinodaidzwa kuti cyclically kune yega yega basa uye inogona kufananidzwa zviri nyore. GIMPLE mashandiro ane chekuita nehardware-yakazvimirira optimizations iyo inoongorora kupindirana kwemabasa nemumwe inoiswa mushinda dzakasiyana.

Panhanho inotevera, yakarongwawo kufambisa interprocedural RTL optimizations kuita tambo dzakasiyana, tichifunga nezvehunhu hwepuratifomu yehardware. Mushure meizvozvo, isu tinoronga kuita parallelization ye intraprocedural optimizations (IPA) yakaiswa kune kodhi mukati mebasa, zvisinei neiyo chaiyo yekufona. Iyo yekumisikidza chinongedzo parizvino ndeye muunganidzi wemarara, iyo yakawedzera kukiya kwepasirese iyo inodzima mabasa ekuunganidza marara uchimhanya mune akawanda-akarukwa maitiro (mune ramangwana muunganidzi wemarara achagadziridzwa kuti aite akawanda-tambo ekuuraya kweGCC).

Kuti uongorore shanduko mukushanda, test suite yakagadzirirwa iyo inounganidza gimple-match.c faira, iyo inosanganisira zvinopfuura 100 zviuru mitsara yekodhi uye 1700 mabasa. Miedzo pane sisitimu ine Intel Core i5-8250U CPU ine mana emuviri cores uye 4 chaiwo (Hyperthreading) yakaratidza kudzikira panguva yekuuraya yeIntra Procedural GIMPLE optimizations kubva pa8 kusvika 7 masekondi paunenge uchimhanyisa 4 tambo uye kune 2 masekonzi paunenge uchimhanya 3. shinda, i.e. Kuwedzera kwekukurumidza kwechikamu chegungano chiri kufungidzirwa chakawanikwa ne 4 uye 1.72 nguva, maererano. Miedzo yakaratidzawo kuti kushandisa virtual cores neHyperthreading haitungamiri mukuwedzera kuita.

Projekiti yekuwedzera rutsigiro rwekuenzanisa nzira yekubatanidza kuGCC

Iyo yakazara nguva yekuvaka yakaderedzwa neinosvika gumi muzana, asi zvinoenderana nekufanotaura, kuenderana neRTL optimizations inobvumira kuwana zvimwe zvinobatika mhedzisiro, sezvo nhanho iyi inotora nguva yakawandisa panguva yekuunganidza. Inenge mushure meRTL parallelization, iyo yakazara nguva yegungano ichaderedzwa ne10 nguva. Mushure meizvi, zvinogoneka kudzikisa nguva yekuvaka neimwe 1.61-5% nekufananidza IPA optimizations.

Projekiti yekuwedzera rutsigiro rwekuenzanisa nzira yekubatanidza kuGCC

Source: opennet.ru

Voeg