Difference between revisions of "Gprof Tutorial"

From HPC Wiki
Jump to navigation Jump to search
Line 20: Line 20:
 
'''Quiz'''
 
'''Quiz'''
  
<quiz display=simple>
 
 
{{hidden begin  
 
{{hidden begin  
 
|title = 1. What lanuages can gprof profile?
 
|title = 1. What lanuages can gprof profile?
 
}}
 
}}
 +
<quiz display=simple>
 
{
 
{
 
|type="()"}
 
|type="()"}
Line 32: Line 32:
 
-  Haskell, Cobol, Brainfuck
 
-  Haskell, Cobol, Brainfuck
 
||
 
||
 +
</quiz>
 
{{hidden end}}
 
{{hidden end}}
  
Line 37: Line 38:
 
|title = 2. How does gprof profiles an application?
 
|title = 2. How does gprof profiles an application?
 
}}
 
}}
 +
<quiz display=simple>
 
{
 
{
 
|type="()"}
 
|type="()"}
Line 43: Line 45:
 
-  Through static analysis of the source code
 
-  Through static analysis of the source code
 
||
 
||
 +
</quiz>
 
{{hidden end}}
 
{{hidden end}}
  
Line 48: Line 51:
 
|title = 3. What compiler flag is used to instrument the application?
 
|title = 3. What compiler flag is used to instrument the application?
 
}}
 
}}
 +
<quiz display=simple>
 
{
 
{
 
|type="()"}
 
|type="()"}
Line 56: Line 60:
 
-  <code>--profile</code>
 
-  <code>--profile</code>
 
||
 
||
 +
</quiz>
 
{{hidden end}}
 
{{hidden end}}
  
Line 61: Line 66:
 
|title = How should the parameters be when running the instrumented application?
 
|title = How should the parameters be when running the instrumented application?
 
}}
 
}}
 +
<quiz display=simple>
 
{
 
{
 
|type="()"}
 
|type="()"}
Line 69: Line 75:
 
- Covering edge cases  
 
- Covering edge cases  
 
||
 
||
 +
</quiz>
 
{{hidden end}}
 
{{hidden end}}
</quiz>
+
 
  
 
{{Note|'''Exercises: no exercises in this section'''}}
 
{{Note|'''Exercises: no exercises in this section'''}}

Revision as of 16:26, 6 October 2020


Gprof is a free and easy-to-use profiler.

Introduction

Introduce tutorial structure, topic and speaker

Gprof Introduction + Pascal Example

Provide everything to run and make use of gprof.

Quiz

1. What lanuages can gprof profile?

Python, Java, Julia
C/C++, Fortran, Pascal
Haskell, Cobol, Brainfuck

2. How does gprof profiles an application?

By instrumenting the application during compilation.
Through static analysis of the source code

3. What compiler flag is used to instrument the application?

-pg
-pig
--profile

How should the parameters be when running the instrumented application?

Simple and understandable
Representative of the usual workload
Covering edge cases


Note: Exercises: no exercises in this section

C++ + Fortran Examples

Show gprof in real world examples and introduce call graph.


Quiz: no quiz in this section

Note: Exercises: no exercises in this section