cf77 -Zp -Wu"-p" prog.f
a.out
atexpert -L -rps -o -f atx.raw > atx.report
As before, the -L flag indicates non-interactive use. For an interactive X Windows session, simply use atexpert.
Recompilation and reloading are required, and there is some CPU overhead
atexpert works with multitasked codes.
The importance of atexpert lies in its ability to provide observations on the code. The user is given suggestions as to how best the code may be improved. These suggestions are often vague, eg "examine the loop to see if it can be converted from serial to parallel", however, the utility does provide useful statistics in a user friendly way.
Example
Program observations: atx.raw
This program appears to be 0.0 percent parallel and 100.0 percent serial. Amdahl's Law predicts that with no overhead, this program could expect to achieve a 1.0 times speedup on 8 cpus. A 1.0 speedup is predicted with 8 cpus on a dedicated system.
OBSERVATION:
Your program appears to have areas where the granularity of the parallel work is such that it is dominated by the time required for CPUs to pass through a critical region.
ACTION:
Investigate the following subroutines which exhibit this behaviour.
subroutine parallel region
---------- ---------------
genmat genmat@3
OBSERVATION
Your program contains very large areas which are executed by only one cpu. "atexpert" lists this time as "preceding serial time." The maximum speedup your program can achieve from parallel execution is less than 2.0.
ACTION
"atexpert" provides three ways to find the large serial time portions in your program. First, the program observations has a section that details the top 5 preceding serial times. Second, the parallel region monitor at the top of the display area shows serial time as hashed boxes with a speedup (height) of 1. Click the mouse over a large hashed box and "atexpert" immediately changes the display to the corresponding parallel region following this serial code. Subroutine and parallel region names in the corresponding windows are highlighted. etc
Example of atexpert graph
mtdump filename