پروجيڪٽ GCC کي گڏ ڪرڻ جي عمل جي متوازي ڪرڻ لاءِ مدد شامل ڪرڻ لاءِ

هڪ تحقيقي منصوبي جي حصي طور متوازي GCC ڪم شروع ڪيو ويو آھي ھڪڙي خصوصيت کي شامل ڪرڻ لاءِ GCC جيڪا تاليف جي عمل کي ڪيترن ئي متوازي سلسلي ۾ ورهائڻ جي اجازت ڏئي ٿي. في الحال، ملٽي-ڪور سسٽم تي تعمير جي رفتار کي وڌائڻ لاء، ميڪ يوٽيلٽي الڳ ڪمپلر پروسيس جي لانچ کي استعمال ڪري ٿو، جن مان هر هڪ الڳ ڪوڊ فائل ٺاهي ٿو. نئين منصوبي کي گڏ ڪرڻ واري سطح تي متوازي مهيا ڪرڻ سان تجربو ڪري رهيو آهي، جيڪو ممڪن طور تي ملٽي ڪور سسٽم تي ڪارڪردگي بهتر ڪندو.

چڪاس لاءِ تيار ڪيل GCC جي هڪ الڳ متوازي شاخ، جيڪا ٿريڊن جو تعداد مقرر ڪرڻ لاءِ هڪ نئون پيرا ميٽر “—param=num-threads=N” پيش ڪري ٿي. شروعاتي اسٽيج تي، اسان الڳ الڳ موضوعن ۾ مداخلت جي اصلاحن جي منتقلي تي عمل ڪيو، جن کي cyclically هر فنڪشن لاء سڏيو ويندو آهي ۽ آساني سان متوازي ڪري سگهجي ٿو. GIMPLE آپريشنز هارڊويئر-آزاد اصلاحن لاءِ ذميوار آهن جيڪي هڪ ٻئي سان افعال جي تعامل جو جائزو وٺندا آهن الڳ الڳ ٿريڊن ۾ رکيل آهن.

ايندڙ اسٽيج تي، اهو پڻ منصوبابندي ڪئي وئي آهي ته وچولي RTL اصلاحن کي الڳ الڳ موضوعن ۾ منتقل ڪيو وڃي، اڪائونٽ ۾ هارڊويئر پليٽ فارم جي خاصيتن کي. ان کان پوء، اسان منصوبي جي اندر اندر ڪوڊ تي لاڳو ڪيل intraprocedural optimizations (IPA) جي متوازي کي لاڳو ڪرڻ جو منصوبو ٺاهيو، بغير ڪال جي خاصيتن جي. ھاڻي محدود ڪڙي آھي ڪچرو ڪليڪٽر آھي، جنھن ھڪ گلوبل لاڪ شامل ڪيو آھي جيڪو ملٽي ٿريڊ موڊ ۾ ھلندي ڪچري کي گڏ ڪرڻ واري عمل کي غير فعال ڪري ٿو (مستقبل ۾ گاربيج ڪليڪٽر کي GCC جي گھڻن موضوعن واري عمل لاءِ ترتيب ڏنو ويندو).

ڪارڪردگي ۾ تبديلين جو جائزو وٺڻ لاء، هڪ ٽيسٽ سوٽ تيار ڪيو ويو آهي جيڪو gimple-match.c فائل کي گڏ ڪري ٿو، جنهن ۾ 100 هزار کان وڌيڪ لائنون ڪوڊ ۽ 1700 فنڪشن شامل آهن. Intel Core i5-8250U CPU سان 4 فزيڪل ڪور ۽ 8 ورچوئل (هائپر ٿريڊنگ) سان سسٽم تي ٽيسٽون ڏيکاريون ويون ته Intra Procedural GIMPLE آپٽمائيزيشن جي عمل جي وقت ۾ 7 کان 4 سيڪنڊن تائين جڏهن 2 ٿريڊ هلندي ۽ 3 سيڪنڊن تائين جڏهن 4 هلندي. ڌاڳو، يعني غور هيٺ اسيمبلي اسٽيج جي رفتار ۾ اضافو حاصل ڪيو ويو 1.72 ۽ 2.52 ڀيرا، ترتيب سان. ٽيسٽ پڻ ڏيکاريا آهن ته هائپر ٿريڊنگ سان ورچوئل ڪور استعمال ڪرڻ سان ڪارڪردگي وڌي نه ٿي.

پروجيڪٽ GCC کي گڏ ڪرڻ جي عمل جي متوازي ڪرڻ لاءِ مدد شامل ڪرڻ لاءِ

مجموعي طور تي تعمير جو وقت تقريباً 10٪ گھٽجي ويو، پر اڳڪٿين جي مطابق، RTL اصلاحن کي متوازي ڪرڻ سان وڌيڪ واضح نتيجا حاصل ڪرڻ جي اجازت ملندي، ڇو ته ھن مرحلي ۾ تاليف دوران گھڻو وقت لڳندو آھي. تقريبن RTL متوازي ٿيڻ کان پوء، مجموعي اسيمبلي جو وقت 1.61 ڀيرا گھٽجي ويندو. ان کان پوء، اهو ممڪن ٿيندو ته تعميراتي وقت کي 5-10٪ تائين گھٽائڻ سان متوازي IPA اصلاحن سان.

پروجيڪٽ GCC کي گڏ ڪرڻ جي عمل جي متوازي ڪرڻ لاءِ مدد شامل ڪرڻ لاءِ

جو ذريعو: opennet.ru

تبصرو شامل ڪريو