Pròiseact gus taic a chuir ri co-shìnteadh a’ phròiseas cruinneachaidh gu GCC

Mar phàirt de phròiseact rannsachaidh GCC co-shìnte Tha obair air tòiseachadh gus feart a chur ri GCC a leigeas leis a’ phròiseas cruinneachaidh a roinn ann an grunn snàithleanan co-shìnte. An-dràsta, gus astar togail àrdachadh air siostaman ioma-cridhe, bidh an goireas dèanamh a’ cleachdadh cur air bhog pròiseasan cruinneachaidh fa leth, agus bidh gach fear dhiubh a’ togail faidhle còd air leth. Tha am pròiseact ùr a’ feuchainn ri bhith a’ toirt seachad co-shìnteadh aig ìre cruinneachaidh, a dh’ fhaodadh coileanadh a leasachadh air siostaman ioma-cridhe.

Airson deuchainn ullaichte meur co-shìnte fa leth de GCC, a tha a’ tabhann paramadair ùr “—param = num-threads = N” gus an àireamh snàithleanan a shuidheachadh. Aig a’ chiad ìre, chuir sinn an gnìomh gluasad optimizations eadar-mhodhail gu snàithleanan fa leth, ris an canar gu cearcallach airson gach gnìomh agus a dh’ fhaodar a cho-thaobhadh gu furasta. Tha gnìomhachd GIMPLE le uallach airson optimizations neo-eisimeileach air bathar-cruaidh a bhios a’ measadh eadar-obrachadh ghnìomhan le chèile air an cur ann an snàithleanan fa leth.

Aig an ath ìre, thathas cuideachd an dùil optimizations RTL eadar-mhodhail a ghluasad gu snàithleanan fa leth, a’ toirt aire do fheartan an àrd-ùrlar bathar-cruaidh. Às deidh sin, tha sinn an dùil co-shìnteadh de optimizations intraprocedural (IPA) a chuir an sàs anns a ’chòd taobh a-staigh na gnìomh, ge bith dè na mion-fhiosrachadh mun ghairm. Is e an ceangal cuibhreachaidh airson a-nis an neach-cruinneachaidh sgudail, a tha air glas cruinne a chuir ris a chuireas casg air obair cruinneachadh sgudail fhad ‘s a tha e a’ ruith ann am modh ioma-snàithlean (san àm ri teachd bidh an neach-cruinneachaidh sgudail air atharrachadh airson coileanadh ioma-snàithlean GCC).

Gus atharrachaidhean ann an coileanadh a mheasadh, chaidh sreath deuchainn ullachadh a bhios a’ cruinneachadh am faidhle gimple-match.c, a tha a’ toirt a-steach còrr air 100 mìle loidhne de chòd agus 1700 gnìomh. Sheall deuchainnean air siostam le CPU Intel Core i5-8250U le coraichean corporra 4 agus 8 brìgheil (Hyperthreading) lùghdachadh ann an ùine cur an gnìomh optimizations GIMPLE Intra Procedural bho 7 gu 4 diogan nuair a bha iad a’ ruith 2 snàithlean agus gu 3 diogan nuair a bha iad a’ ruith 4 snàithlean, i.e. Chaidh àrdachadh ann an astar an ìre cruinneachaidh air a bheilear a’ beachdachadh a choileanadh le 1.72 agus 2.52 uair, fa leth. Sheall deuchainnean cuideachd nach eil cleachdadh coraichean brìgheil le Hyperthreading a’ leantainn gu barrachd coileanaidh.

Pròiseact gus taic a chuir ri co-shìnteadh a’ phròiseas cruinneachaidh gu GCC

Chaidh an ùine togail iomlan a lughdachadh timcheall air 10%, ach a rèir ro-innsean, le bhith a’ co-thaobhadh optimizations RTL leigidh sin toraidhean nas cinntiche a choileanadh, leis gu bheil an ìre seo a’ toirt mòran a bharrachd ùine aig àm cur ri chèile. Mu thimcheall às deidh co-shìnteadh RTL, thèid an ùine cruinneachaidh iomlan a lughdachadh 1.61 uair. Às deidh seo, bidh e comasach an ùine togail a lughdachadh 5-10% eile le bhith a ’co-thaobhadh optimizations IPA.

Pròiseact gus taic a chuir ri co-shìnteadh a’ phròiseas cruinneachaidh gu GCC

Source: fosgailtenet.ru

Cuir beachd ann