Summary: | 碩士 === 國立臺灣大學 === 資訊工程學研究所 === 104 === When we first met an unfamiliar program, the profiling tool plays an important role in understanding program behavior. As software applications become more and more complicated, to profile each section with different behavior in the program is crucial. Previous studies focus on profiling each function or loop in the program, however, which might ignore the fact that different behaviors happen inside a loop or a function.
In this study, we use program phase detection to partition the program and build up a profiling tool based on it. Furthermore, we verified the grouping effect of program phases on some high-level features by predicting GPU friendliness of each program phase with machine learning model. The accuracy of prediction comes to 94%. At last, we take real applications as test cases, showing that the profiling tool based on program phase detection is able to detect behavior changing inside a loop or a function.
|