የማጠናቀር ሂደቱን ከጂሲሲ ጋር ለማመሳሰል ድጋፍ ለመጨመር ፕሮጀክት

እንደ የምርምር ፕሮጀክት አካል ትይዩ ጂ.ሲ.ሲ የማጠናቀር ሂደቱን ወደ በርካታ ትይዩ ክሮች ለመከፋፈል የሚያስችል ባህሪ ወደ GCC ለመጨመር ስራ ጀምሯል። በአሁኑ ጊዜ በባለብዙ ኮር ሲስተሞች ላይ የግንባታ ፍጥነትን ለመጨመር የ Make utility የተለየ የማጠናቀሪያ ሂደቶችን ይጀምራል ፣ እያንዳንዱም የተለየ የኮድ ፋይል ይገነባል። አዲሱ ፕሮጀክት በማጠናቀሪያ ደረጃ ትይዩ በማቅረብ እየሞከረ ነው፣ ይህ ደግሞ በባለብዙ ኮር ሲስተሞች ላይ አፈጻጸምን ሊያሻሽል ይችላል።

ለሙከራ ተዘጋጅቷል የክሮች ብዛት ለማዘጋጀት አዲስ መለኪያ “—param=num-threads=N” የሚያቀርበው የተለየ ትይዩ የጂሲሲ ቅርንጫፍ። በመነሻ ደረጃ ላይ የ interprocedural ማመቻቸት ወደ ተለያዩ ክሮች ማስተላለፍን እንተገብራለን, ለእያንዳንዱ ተግባር ሳይክሊካል ተብለው ይጠራሉ እና በቀላሉ ሊመሳሰሉ ይችላሉ. የእርስ በርስ የተግባሮችን መስተጋብር የሚገመግሙ ሃርድዌር-ገለልተኛ ማመቻቸት ኃላፊነት ያለባቸው የGIMPLE ስራዎች በተለየ ክሮች ውስጥ ይቀመጣሉ።

በሚቀጥለው ደረጃ የሃርድዌር መድረክ ባህሪያትን ከግምት ውስጥ በማስገባት የኢንተርሮሴድራል RTL ማመቻቸት ወደ ተለያዩ ክሮች ለማንቀሳቀስ ታቅዷል. ከዚያ በኋላ የጥሪው ልዩ ሁኔታ ምንም ይሁን ምን በስራው ውስጥ ባለው ኮድ ላይ የተተገበረውን የ intraprocedural optimizations (IPA) ትይዩ ተግባራዊ ለማድረግ አቅደናል። በአሁኑ ጊዜ የሚገድበው የቆሻሻ አሰባሳቢ ሲሆን ይህም በባለብዙ ክሮች ሁነታ ላይ በሚሰራበት ጊዜ የቆሻሻ አሰባሰብ ስራዎችን የሚያሰናክል አለም አቀፍ መቆለፊያን ጨምሯል (ወደፊት የቆሻሻ አሰባሳቢው ባለብዙ ክር የጂ.ሲ.ሲ.

የአፈጻጸም ለውጦችን ለመገምገም የ gimple-match.c ፋይልን የሚገጣጠም ከ100 ሺህ በላይ የኮድ መስመሮች እና 1700 ተግባራትን ያካተተ የሙከራ ስብስብ ተዘጋጅቷል። ኢንቴል ኮር i5-8250U ሲፒዩ ባለ 4 ፊዚካል ኮሮች እና 8 ቨርቹዋል (Hyperthreading) ባለው ሲስተም ላይ የተደረጉ ሙከራዎች የ Intra Procedural GIMPLE ማመቻቸት ከ7 እስከ 4 ሰከንድ 2 ክሮች ሲሮጡ እና 3 ሲሮጡ ወደ 4 ሰከንድ መቀነስ አሳይተዋል። ክሮች፣ ማለትም. ከግምት ውስጥ በማስገባት የመሰብሰቢያ ደረጃ ፍጥነት መጨመር በ 1.72 እና 2.52 ጊዜ ተገኝቷል. ሙከራዎች እንደሚያሳዩት ቨርቹዋል ኮሮችን ከሃይፐርትሬዲንግ ጋር መጠቀም ወደ አፈጻጸም መጨመር እንደማይመራም አሳይቷል።

የማጠናቀር ሂደቱን ከጂሲሲ ጋር ለማመሳሰል ድጋፍ ለመጨመር ፕሮጀክት

አጠቃላይ የግንባታ ጊዜ በ 10% ገደማ ቀንሷል ፣ ግን እንደ ትንበያዎች ፣ የ RTL ማመቻቸት ትይዩ የበለጠ ተጨባጭ ውጤቶችን ለማግኘት ያስችላል ፣ ምክንያቱም ይህ ደረጃ በሚጠናቀርበት ጊዜ በጣም ብዙ ጊዜ ይወስዳል። ከ RTL ትይዩ በኋላ ፣ አጠቃላይ የመሰብሰቢያ ጊዜ በ 1.61 ጊዜ ይቀንሳል። ከዚህ በኋላ የአይፒኤ ማሻሻያዎችን በማመሳሰል የግንባታ ጊዜውን በሌላ 5-10% መቀነስ ይቻላል.

የማጠናቀር ሂደቱን ከጂሲሲ ጋር ለማመሳሰል ድጋፍ ለመጨመር ፕሮጀክት

ምንጭ: opennet.ru

አስተያየት ያክሉ