همجوشی حلقه های چندسطحی با استفاده از یادگیری تقویتی عمیق
مهسا زیرک سیما
علوم ریاضی آمار و علوم كامپیوتر
۱۴۰۱
۱۸۵ص.
سی دی
دکتری
علوم كامپیوتر
۱۴۰۱/۰۶/۲۸
امروزه با پیشرفت علم و فناوری، برنامه ها و معماری رایانه ها بیشتر از پیش پیچیده شده و دستیابی بهسرعت اجرای مناسب در چنین شرایطͬ سخت و زمانبر شده است. مترجم های موازی ساز ی ͺاز ابزارهایمورد استفاده در این راستا هستند که میتوانند با تشخیص حلقه هایی از برنامه که قابلیت اجرای موازی دارندو بهبود عملͺرد آنها با استفاده از تبدیل های مختلف، سرعت اجرای برنامه ها را بالا ببرند. تبدیل هایی نظیرهمجوشͬ حلقه میتوانند زمان اجرا را با ایجاد ی حلقه معادل با افزایش استفاده مجدد از داده و کاهشتعداد دسترسی ها به حافظه، بهبود بخشند. چالش های پیش رو باتوجه به عوامل مختلف موثر نظیر تعدد نوعحلقه ها، انواع وابستگه های بین آنها، تبدیل های مورد استفاده و تاثیر آنها بر یͺدیͽر ی مسئله چندجمله یغیرقطع-ͬسخت است. هدف راهͺار پیشنهادی این رساله، حل مسئله همجوشͬ در حالت کلͬ و با کمترینتعداد محدودیت است. با در نظر گرفتن معیارهای موثر در همجوشͬ و قابلیتهای یادگیری تقویتͬ عمیق درحل چنین مسائل پیچیده و زمان پاسخگویی مناسب آن، در این رساله برای اولینبار این راهͺار مورد استفادهقرار گرفته است. رویͺرد ارائه شده با دستیابی به راه حل های بهتری برای مسئله همجوشͬ توانسته سرعتاجرای برنامه ها را بهبود دهد. شبیهسازی و نتایج عملͬ نشان میدهد که راهͺار ارائه شده راهحل بهتری بر رویمحل های متفاوت در مقایسه با سایر روشها به دست آورده که نمایانگر قابلیت و ظرفیت رویͺرد پیشنهادیاست
Lately, with the advancement of science and technology, computer programs andarchitecture have become more complicated and achieving the appropriate execution speed in suchconditions has become difficult and time-consuming. Parallelizing compilers are one of the toolsused in this regard, which can increase the speed of program execution by detecting loops ofthe program that can be executed in parallel and improving their performance by using differenttransformations. Transformations such as loop fusion can improve runtime by creating anequivalent loop with increased data reuse and reduced the number of memory accesses. The upcomingchallenges are an NP-hard problem due to various effective factors such as number of types of loops,different types of dependencies between them, the transformations used and their impact on eachother. The goal of the proposed approach in this thesis is solving the fusion problem in generaland with the least number of constraints. Considering the effective criteria in fusion problem anddeep reinforcement learning capabilities in solving such complex problems and its appropriate responsetime, this approach has been proposed for the first time in this thesis. The presented approach hasbeen able to improve the speed of program execution by achieving better solutions for the fusionproblem. Simulation and practical results show that the presented solution has obtained a bettersolution on different benchmarks compared to other methods, which represents the capability andcapacity of the proposed approach.
Fusion of Multi-Level Nested Loops Using Deep Reinforcement Learning