Projeya ku piştgirî ji bo pêvajoya berhevkirina paralel li GCC zêde bike

Wekî beşek ji projeya lêkolînê Parallel GCC Xebat dest pê kir ku taybetmendiyek li GCC zêde bike ku dihêle ku pêvajoya berhevkirinê li çend mijarên paralel were dabeş kirin. Heya nuha, ji bo zêdekirina leza avakirinê li ser pergalên pir-bingehîn, amûra make destpêkirina pêvajoyên berhevkar ên cihêreng bikar tîne, ku her yek ji wan pelek kodek cihê ava dike. Projeya nû bi peydakirina paralelbûnê di asta berhevkerê de diceribîne, ku dê bi potansiyel performansa li ser pergalên pir-core baştir bike.

Ji bo ceribandinê amade kirin şaxeke cuda ya paralelkirina GCC, ku ji bo danîna hejmara têlan parametreyek nû "-param=num-threads=N" pêşkêşî dike. Di qonaxa destpêkê de, me veguheztina optimîzasyonên navproceduralî di nav mijarên cihêreng de pêk anî, ku ji bo her fonksiyonê bi rengek cyclîkî têne gotin û bi hêsanî têne paralel kirin. Operasyonên GIMPLE yên ku ji optimîzasyonên serbixwe-hardware berpirsiyar in ku têkiliya fonksiyonan bi hev re dinirxînin, di mijarên cûda de têne danîn.

Di qonaxa paşîn de, di heman demê de tê plansaz kirin ku xweşbîniyên RTL-ya navprocedural di nav mijarên cihêreng de biguhezînin, ku taybetmendiyên platforma hardware li ber çavan bigire. Piştî wê, em plan dikin ku paralelkirina optimîzasyonên hundurîn-procedural (IPA) ku li koda hundurê fonksiyonê hatî sepandin, bêyî taybetmendiyên bangê, bicîh bikin. Zencîreya sînorkirî ya naha berhevkarê çopê ye, ku kilîtek gerdûnî lê zêde kiriye ku dema ku di moda pir-têlan de dixebite operasyonên berhevkirina çopê neçalak dike (di pêşerojê de berhevkarê çopê dê ji bo pêkanîna pir-têlan a GCC were adapte kirin).

Ji bo nirxandina guhertinên di performansê de, pakêtek testê hatî amadekirin ku pelê gimple-match.c, ku zêdetirî 100 hezar rêzikên kodê û 1700 fonksiyonan vedihewîne, berhev dike. Testên li ser pergalek bi CPU-ya Intel Core i5-8250U bi 4 bingehên laşî û 8 virtual (Hyperthreading) kêmbûnek di dema pêkanîna xweşbîniyên Intra Procedural GIMPLE de ji 7 ber 4 çirkeyan dema ku 2 mijaran dimeşînin û 3 çirkeyan dema ku 4 dimeşînin nîşan dan. têlan, yanî. Zêdebûna leza qonaxa kombûnê ya li ber çavan bi rêzê 1.72 û 2.52 qatan hate bidestxistin. Di heman demê de ceribandinan destnîşan kir ku karanîna korên virtual bi Hyperthreading re rê nade performansa zêde.

Projeya ku piştgirî ji bo pêvajoya berhevkirina paralel li GCC zêde bike

Dema çêkirinê ya giştî bi qasî% 10 kêm bû, lê li gorî pêşbîniyan, xweşbînkirina RTL-ya paralel dê destûrê bide bidestxistina encamên berbiçavtir, ji ber ku ev qonax di berhevkirinê de pir zêde wext digire. Nêzîkî piştî paralelkirina RTL-ê, dema kombûnê ya tevahî dê 1.61 carî kêm bibe. Piştî vê yekê, dê gengaz be ku bi paralelkirina xweşbîniyên IPA-yê dema çêkirinê 5-10% din kêm bikin.

Projeya ku piştgirî ji bo pêvajoya berhevkirina paralel li GCC zêde bike

Source: opennet.ru

Add a comment