Program Analysis with a Loop-Function-based Tracing Tool on Virtual Platforms.
RACS(2017)
摘要
Understanding the program behavior and data dependencies are important when designing and accelerating applications. However, conventional profiling tools are insufficient for tracking functions and loops of programs due to compiler optimizations and probe effects. In order to minimize the probe effects, virtual platforms with timing simulation are used to monitor the profiled program and provide flexibility of evaluating the future platforms. Nevertheless, the profiling information is not collected in function- or looplevel for programmers to analyze and discover performance issues. This paper proposes a stack-pointer-based method with a later loop entry detection scheme to overcome the difficulties of detecting functions and loops for programs running on a virtual platform. With the detailed performance counters and memory access patterns recorded along with the loop-call context tree, this paper also presents a framework collecting traces for detailed analysis on both of control flow and data flow of a program. The experimental results demonstrated the ability of the developed tool for collecting and profiling a program in a loop-call context tree form and for enabling further analysis on thread level parallelism and data dependency between functions and loops.
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络