ANUSF
Fujitsu VPP300 Userguide

 

NQS Batch queues

Interactive user

Project Accounting

File Systems

Programming Languages

Programming Tools

Vectorization and Tuning Guide

HPC Programming Hints

 

 

Older doco that may still be relevant

VP2200 User Guide
 &  Vectorization

 

[Back to]
[VPP]

 

   
Programming Tools

Debuggers
The fdb debugger works with C, Fortran90/VP and C/VP code compiled with the -g option. It is very similar to the dbx debugger but not nearly as developed. Apart from the fdb man page, there is a chapter on fdb in the UXP/V ANALYZER User's Guide V11 under the On-line UXP/V manuals.

An X interface to fdb is also available via the command xfdb. As well as all of the commands of fdb, xfdb allows mouse-click operation, viewing of source and rudimentary displaying of variables. Information on the graphical features of xfdb may be obtained from the xfdb man page on covpp (this man page is actually for the Solaris version of xfdb - slight differences may exist). For debugging commands, refer to the fdb man page on vpp.

xfdb may be invoked from the VPP Workbench.

Sampler
A sampling tool (sometimes called a profiler) called fjsamp is available to provide execution time analysis of relative costs of
  • cputime for single and multiple PE execution and
  • communication overhead for multiple PE execution
for all loops and procedures of your code. fjsamp can analyze Fortran90/VP, Fortran90/VPP or C/VP (no loop costs for C/VP) programs without the need for recompilation or relinking.

To use fjsamp:

  • Ensure that "." is in your environment PATH - for tcsh, use the command set path=($path .) either interactively or in your .cshrc to add "." to your PATH

  • Set the environment variable FJSAMP by

    setenv FJSAMP 'f:filename,t:[rtime or vtime],i:interval,pe:[on or off]'

    • t, i and pe components are optional
    • rtime = elapsed time sampling, vtime = cputime sampling (default)
    • interval is the sampling interval in milliseconds (default and minimum is 10)
    • only use pe:on for multiprocessor sampling - default is off

  • Run your code - a histogram of the loop being executed after each sampling interval is compiled in the file filename.

  • Without changing FJSAMP, run fjsamp on your executable: fjsamp a.out This will print a cost analysis to stdout.
For large jobs, this procedure can be encapsulated in a script for use in a batch request, eg.
        > cat dosamp
        #!/bin/sh
        PATH=$PATH:.
        export PATH
        FJSAMP='f:foo.samp'
        export FJSAMP
        foo < foo.input
        /usr/lang/bin/fjsamp foo > foo.prof
        rm foo.samp
        > chmod +x dosamp
        > nqsub -q normal -lM 300MB -lT 30:00 ./dosamp
leaves the profiling analysis for foo in
foo.prof.

Refer to the fjsamp man page for output details particularly for multiple PE jobs. See also the Sampler chapter of the UXP/V ANALYZER User's Guide V11 under the On-line UXP/V manuals.

Performance Analyzers
  • The Processing Element Performance Analyzer (PEPA) gives PE performance statistics for the execution of all or part of Fortran90/VP, Fortran90/VPP, C or C/VP codes. The statistics are based on operation counts for both for the scalar and vector unit.

  • The Mover Performance Analyzer (MPA) provides performance statistics for data transfer unit (DTU) for the execution of all or part of Fortran90/VPP codes. Amount of data sent and received, the time spent in communication and the time spent waiting for data are among the statistics produced.
Bot the PEPA and MPA are documented in the PEPA and MPA chapter of the
UXP/V ANALYZER User's Guide V11 under the On-line UXP/V manuals.
VPP Workbench
The VPP Workbench is an X interface used on covpp for tools (such as xfdb and fjsamp) running on the VPP. The command to invoke the VPP Workbench on covpp is vppworkbench. This command should not (and cannot) be run in the background (even though you only interact with the "VPP Workbench Manager" window) because of leftover processes after a Workbench session. You will be prompted for your vpp username and password then click on the "Apply" button - after a few seconds the "VPP Workbench Manager" window will appear. When you quit from the "VPP Workbench Manager" window, you will have to ^C out of the vppworkbench command you initially started.

The only documentation we have currently for the VPP Workbench is the vppworkbench man page on covpp. Unfortunately, there is neither "help" built into the VPP Workbench, or in the On-line UXP/V manuals. All other features appear to be functioning as intended.

In general, everything available under the VPP Workbench can be done with greater control and flexibility from the command line under a login session on the vpp. However, for a simplified if restrictive, all-mouse-clicks interface to things like xfdb, fjsamp, make etc, the VPP Workbench is reasonably useful.

Solaris Workbench
Source Analyzer