Profiling minisat based on user defined execution time -- GPROF
Shubhendra Pal Singhal, Sandeep Gupta, Pierluigi Nuzzo

TL;DR
This paper explains gprof's architecture, how to profile programs with user-defined execution times, and demonstrates its application in optimizing Minisat for hardware acceleration by identifying parallelizable code sections.
Contribution
It provides a detailed understanding of gprof's data structures, proposes modifications for user-defined execution times, and applies this to optimize Minisat's performance.
Findings
Gprof's call graph data structure is crucial for profiling.
Modifying gprof allows simulation of execution time changes.
Application in Minisat shows potential for hardware acceleration.
Abstract
This paper focuses on the explanation of the architecture of profilers particularly gprof and how to profile a program according to the user defined input of execution time . Gprof is a profiler available open source in the package of binutils. Gprof records the flow of the program including the callee and caller information and their respective execution time. This information is represented in the form of a call graph. Profilers at the time of execution creates a call graph file which indicates the full flow of the program including the individual execution time as well. This paper aims at providing a better understanding of the data structure used to store the information and how is a profiler(gprof) actually using this data structure to give user a readable format. The next section of this paper solves one of the limitation of gprof i.e. edit the time of block of code without…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Software Testing and Debugging Techniques
