Ayyukan don ƙara tallafi don daidaita tsarin haɗawa zuwa GCC

A matsayin wani ɓangare na aikin bincike Daidaici GCC An fara aiki don ƙara fasalin zuwa GCC wanda ke ba da damar tsarin haɗawa don rarraba zuwa zaren layi ɗaya da yawa. A halin yanzu, don haɓaka saurin ginawa akan tsarin multi-core, mai amfani yana amfani da ƙaddamar da matakai daban-daban na masu tarawa, kowannensu yana gina fayil ɗin lambar daban. Sabon aikin yana gwadawa tare da samar da daidaito a matakin mai tarawa, wanda zai iya inganta aiki akan tsarin da yawa.

Don gwaji shirya wani reshe mai kama da juna na GCC, wanda ke ba da sabon siga “—param=num-threads=N” don saita adadin zaren. A mataki na farko, mun aiwatar da canja wurin ingantawa tsakanin tsarin aiki zuwa zaren daban-daban, waɗanda ake kira cyclically don kowane aiki kuma ana iya daidaita su cikin sauƙi. Ana sanya ayyukan GIMPLE da ke da alhakin haɓaka kayan aiki masu zaman kansu waɗanda ke kimanta hulɗar ayyuka tare da juna a cikin zaren daban.

A mataki na gaba, an kuma shirya don matsar da ingantattun hanyoyin RTL zuwa cikin zaren daban, la'akari da halayen dandamali na hardware. Bayan haka, muna shirin aiwatar da daidaitawa na intraprocedural optimizations (IPA) da aka yi amfani da lambar a cikin aikin, ba tare da la'akari da ƙayyadaddun kiran ba. Matsakaicin iyaka a yanzu shine mai tattara shara, wanda ya kara kulle duniya wanda ke hana ayyukan tattara datti yayin da yake gudana a cikin nau'ikan zaren da yawa (a nan gaba za a daidaita mai tattara shara don aiwatar da zaren da yawa na GCC).

Don kimanta canje-canje a cikin aikin, an shirya babban ɗakin gwaji wanda ya haɗa fayil ɗin gimple-match.c, wanda ya haɗa da layukan lamba sama da dubu 100 da ayyuka 1700. Gwaje-gwaje akan tsarin tare da Intel Core i5-8250U CPU tare da muryoyin jiki guda 4 da 8 kama-da-wane (Hyperthreading) sun nuna raguwar lokacin aiwatar da intra Procedural GIMPLE ingantawa daga 7 zuwa 4 seconds lokacin gudanar da zaren 2 da zuwa 3 seconds lokacin gudu 4 zaren, i.e. An samu karuwa a cikin sauri na matakin taro da aka yi la'akari da shi sau 1.72 da 2.52, bi da bi. Gwaje-gwaje kuma sun nuna cewa yin amfani da maƙallan ƙira tare da Hyperthreading baya haifar da haɓaka aiki.

Ayyukan don ƙara tallafi don daidaita tsarin haɗawa zuwa GCC

An rage yawan lokacin ginin gabaɗaya da kusan 10%, amma bisa ga hasashen, daidaitawa da ingantawa na RTL zai ba da damar samun ƙarin sakamako mai ma'ana, tunda wannan matakin yana ɗaukar lokaci mai yawa yayin haɗawa. Kusan bayan daidaitawar RTL, jimlar lokacin taron za a rage ta sau 1.61. Bayan wannan, zai yiwu a rage lokacin ginawa ta wani 5-10% ta hanyar daidaita haɓakar IPA.

Ayyukan don ƙara tallafi don daidaita tsarin haɗawa zuwa GCC

source: budenet.ru

Add a comment