Prosiect i ychwanegu cefnogaeth ar gyfer cyfochri'r broses grynhoi i GCC

Fel rhan o brosiect ymchwil GCC cyfochrog mae gwaith wedi dechrau ar ychwanegu nodwedd at GCC sy'n eich galluogi i rannu'r broses grynhoi yn sawl llinyn cyfochrog. Ar hyn o bryd, er mwyn gwella cyflymder adeiladu ar systemau aml-graidd, mae'r cyfleustodau gwneud yn defnyddio prosesau casglwr ar wahΓ’n, ac mae pob un ohonynt yn adeiladu ffeil cod ar wahΓ’n. Mae'r prosiect newydd yn arbrofi gyda darparu paraleleiddio ar lefel casglwr, a fydd o bosibl yn gwella perfformiad ar systemau aml-graidd.

Ar gyfer profi parod cangen gyfochrog ar wahΓ’n o GCC, ar gyfer gosod nifer yr edafedd lle cynigir paramedr newydd "-param=num-threads=N". Yn y cam cychwynnol, mae optimeiddiadau rhyng-weithdrefnol yn cael eu symud i edafedd gweithredu ar wahΓ’n, a elwir yn gylchol ar gyfer pob swyddogaeth ac sy'n addas iawn ar gyfer paraleleiddio. Rhoddir gweithrediadau GIMPLE mewn edafedd ar wahΓ’n, sy'n gyfrifol am optimeiddio caledwedd-annibynnol sy'n gwerthuso rhyngweithio swyddogaethau Γ’'i gilydd.

Yn y cam nesaf, bwriedir hefyd symud optimeiddiadau RTL rhyng-weithdrefnol yn edafedd ar wahΓ’n, gan ystyried hynodion y llwyfan caledwedd. Ar Γ΄l hynny, bwriedir gweithredu'r paralel o optimeiddiadau rhyng-weithdrefnol (IPA) a gymhwysir i'r cod y tu mewn i'r swyddogaeth, waeth beth fo nodweddion yr alwad. Y cyswllt cyfyngu hyd yn hyn yw'r casglwr sbwriel, sydd Γ’ chlo byd-eang sy'n analluogi gweithrediadau casglu sbwriel wrth redeg mewn modd aml-threaded (yn y dyfodol, bydd y casglwr sbwriel yn cael ei addasu ar gyfer aml-threading GCC).

Er mwyn gwerthuso'r newid mewn perfformiad, mae cyfres brawf wedi'i pharatoi sy'n adeiladu'r ffeil gimple-match.c, sy'n cynnwys mwy na 100 mil o linellau cod a 1700 o swyddogaethau. Dangosodd profion ar system gyda CPU Intel Core i5-8250U gyda 4 craidd corfforol ac 8 craidd rhithwir (Hyperthreading) ostyngiad yn amser gweithredu optimeiddiadau GIMPLE Mewn-weithdrefnol o 7 i 4 eiliad wrth ddechrau 2 edefyn a hyd at 3 eiliad pan gan ddechrau 4 edefyn, h.y. cyflawnwyd cynnydd yng nghyflymder y cam cynulliad ystyriol 1.72 a 2.52 gwaith, yn y drefn honno. Mae profion hefyd wedi dangos nad yw defnyddio creiddiau rhithwir gyda Hyperthreading yn arwain at enillion perfformiad.

Prosiect i ychwanegu cefnogaeth ar gyfer cyfochri'r broses grynhoi i GCC

Mae'r amser adeiladu cyffredinol wedi'i leihau tua 10%, ond rhagwelir y bydd cyfochrog optimeiddio RTL yn cyflawni canlyniadau mwy diriaethol, gan fod y cam hwn yn cymryd llawer mwy o amser i'w lunio. Yn fras ar Γ΄l paraleleiddio RTL, bydd cyfanswm yr amser cydosod yn cael ei leihau 1.61 gwaith. Ar Γ΄l hynny, bydd yn bosibl lleihau amser adeiladu 5-10% arall oherwydd cyfochrog optimeiddio IPA.

Prosiect i ychwanegu cefnogaeth ar gyfer cyfochri'r broses grynhoi i GCC

Ffynhonnell: opennet.ru

Ychwanegu sylw