CVPERF(1)CVPERF(1)


NAME
     cvperf - WorkShop Performance view

SYNOPSIS
     cvperf (speedshop_exp_file)  (exp_directory)

     cvperf -exe executable_file

     cvperf -exp old_exp_directory

IMPLEMENTATION
     IRIX systems

DESCRIPTION
     cvperf presents a graphical display of the performance data gathered
     in a SpeedShop performance experiment.

     The following options are available with this command:

     speedshop_exp_file
                    One or more SpeedShop experiment files generated either
                    by the Select Task ... submenu of the Perf menu on the
                    WorkShop Debugger window or by the ssrun(1) command
                    with the -workshop option.  If the -workshop flag is
                    not used with ssrun while generating the experiment
                    files, cvperf attempts to produce the appropriate
                    instrumentation automatically, based on information in
                    the experiment files or the -exe flag.

     exp_directory  An experiment directory containing SpeedShop experiment
                    files.

     -exe executable_file
                    By default, cvperf looks for the executable file in the
                    working directory.  By including the -exe option, you
                    can specify a path name to an executable file in a
                    different directory.

     -exp old_exp_directory
                    A directory representing a WorkShop experiment
                    generated by a version of the WorkShop tools prior to
                    the 2.7 version.

EXPERIMENT TYPES
     The WorkShop Performance tools can record a number of different
     experiments, each of which provides performance metrics.  Each has its
     strengths and weaknesses; the experiment types are described in the
     SpeedShop User's Guide and the ssrun(1) man page. Most of them can be
     generated from the Perf menu on the WorkShop Debugger window, and all
     of them can be generated with the ssrun command.  They are briefly
     described as follows:

     Total Time     Returns the time it takes a program to run, taking all
                    factors into consideration.  Total time includes the
                    time a program is actually in the CPU and executing,
                    plus the time it spends waiting while another program
                    is swapped in and executing.  This is also called
                    wall-clock time.

     User Time      Returns CPU time, which includes the time the program
                    is actually running and the time the operating system
                    spends providing services for the program, such as I/O
                    and executing system calls.

     Ideal Time     Returns the best possible time for program execution.
                    Comparing this time to User Time can give you an idea
                    of how efficiently your program is running.

     I/O Trace      Traces each of the I/O system calls made by the
                    executable and computes inclusive and exclusive read
                    and write counts. It shows a time-based event chart for
                    all calls with a given file descriptor.

     Find Memory Leaks
                    Finds situations in which a memory area was allocated
                    but not released later.  This experiment traces calls
                    to malloc and free, computing inclusive and exclusive
                    memory allocations and leaks.  It identifies any errors
                    made in calling these routines.  For more information,
                    see the malloc_ss(3) man page.

     Floating Point Exception
                    Returns the number of floating-point errors in the
                    program.  This experiment traces all floating-point
                    exceptions, computing inclusive and exclusive counts of
                    these exceptions and displays an event line showing the
                    time sequence of the exceptions.

     PC Sampling Time
                    Returns the amount of time used in each function.  The
                    experiment uses a statistical counting of where the
                    process PC is as a function of time, and computes
                    exclusive time from that data.  There is no information
                    in the data that allows computing of inclusive times.

     Custom Task    Lets you choose the particular instrumentation and data
                    desired.  Its use is discouraged, because not all
                    combinations will give meaningful results.  If there is
                    a custom task that you desire, contact SGI, which will
                    endeavor to make a standard one for it.

     These experiments can be generated on all systems that run SpeedShop
     and WorkShop.  An additional set of experiments can be generated on
     R10000 systems, which are equipped with special hardware counters.
     The hardware counter experiments count a variety of low-level events,
     including instructions executed, cache overflows, cycles, and more.
     See the ssrun(1) man page and the SpeedShop User's Guide for more
     information.

USER INTERFACE
     The Performance Analyzer main window has the following parts:

     Task component States the task or objective that the user selected for
                    this experiment.

     Function list area
                    An annotated list of all the functions in the program.
                    The annotations available depend on the experiment
                    type. Annotations can be enabled or disabled by
                    bringing up the Preferences Dialog from the Config
                    menu.

     Usage chart area
                    Allows the user to quickly guess at the bottleneck
                    resources in the different phases of the run and to see
                    thread balance information.  For some experiments, the
                    usage chart is replaced by an event line for the
                    primary events being traced.  For the experiment that
                    finds memory leaks, it is replaced by a plot of process
                    address space and resident size as a function of time.

     Time line area Displays the experiment as a set of events over time
                    and provides calipers to allow the user to specify an
                    interval of interest.

     There are a number additional views, some of which are applicable to
     all experiments, and some of which are meaningful only for some
     experiment types.  The additional views are:

     Usage View (Graphs)
                    Presents a graphical display of the process resource
                    usage data in the form of stripcharts and event charts.

     Usage View (Numerical)
                    Presents a textual display of the process and system-
                    wide resource usage data.

     I/O View       Presents a per-file descriptor chart of the number of
                    bytes transferred.  This view is available only for I/O
                    tracing or system call tracing experiments.

     MPI Stats View (Graphs)
                    Shows the use of a number of key MPI routine calls in a
                    graphical format.

     MPI Stats View (Numerical)
                    Shows the use of a number of key MPI routine calls in a
                    text format.

     Parallel Overhead View
                    For parallel programs, presents several categories of
                    overhead that results from a program being spread over
                    multiple processors.

     Call Graph View
                    Presents the target program as nodes and arcs.

     Butterfly View Shows the caller and callee relationships for any
                    selected function.

     Leak View      Presents a list of all of the memory leaks in the
                    target program.  A leak is any memory region that is
                    allocated by malloc but not released by free.  The
                    leaks are aggregated by common callstack.  This view is
                    available only for memory leak experiments.

     Malloc View    Presents a list of all of the memory allocation in the
                    target program, aggregated by common callstack.  This
                    view is available only for memory leak experiments.

     Malloc Error View
                    Presents a list of the memory allocation errors in the
                    target program, aggregated by common callstack.  This
                    view is available only for memory leak experiments.

     Heap View      Presents a graphical display of the use of the heap by
                    the target program.  This view is available only for
                    memory leak experiments.

     Call Stack View
                    Presents the call stack at the event currently selected
                    in the time line area, or in any event chart for
                    tracing experiments.

     Working Set View
                    Presents a list of the DSOs in the program, with
                    information on the efficiency of use of the text
                    (instruction) pages.  This view is available only for
                    ideal time experiments.

     Source View    Presents an annotated source view.  It is brought up by
                    double-clicking on any function in the function list,
                    on any node in the Call Graph View, or on any frame in
                    the Call Stack View.  If cvperf and cvd are being run
                    in the same session, the annotations will appear in the
                    debugger's main source window.  If there is no debugger
                    window running, a separate Source View window is
                    created.

     Disassembly View
                    Presents an annotated view of the assembly language
                    source for the currently selected function.

NOTES
     Entering a cvperf command such as the following overrides the default
     program object in the experiment file.  This is useful for kernprof(1)
     experiments in which /unix is not the running kernel.

          % cvperf -exe /unix.debug kernprof.usertime.619032.cpu0

SEE ALSO
     cvd(1), cvmeter(1), ssrun(1), on-line help for cvperf.

     SpeedShop User's Guide
     ProDev WorkShop: Performance Analyzer User's Guide
     ProDev WorkShop: Debugger User's Guide
     ProDev WorkShop: Debugger Reference Manual