DPROF(1)                                                              DPROF(1)


NAME
     dprof - a memory access profiling tool

SYNOPSIS
     dprof [-itimer [-ms n]]
     [-hwpc [-cntr  n] [-ovfl n]]
     [-pcmin min] [-pcmax max]
     [-damin min] [-damax max]
     [-page|-line|-hex|-oct|-quad|-double|-int|-word]
     [-sigusr]
     [-out file] [-pout dplace_file] [-threads_per_mem n]
     [-verbose] command


DESCRIPTION
     The given command is executed and memory accesses are sampled; after
     completion, dprof prepares a histogram of memory accesses.  Histograms
     are computed for each thread of multi-threaded applications that utilize
     sproc(2).


OPTIONS
     -itimer
          Use the interval timer as a sampling trigger.  This is the default
          sampling method on all systems other than Origin and
          PowerChallenge/PowerOnyx R10000 systems.

     -ms n
          Trigger every n milliseconds. The default is 10 milliseconds, this
          is also the minimum value. Any value of n less than 10 will result
          in an error.

     -hwpc
          Use R10000 hardware event counter overflow as a sampling trigger.
          This is the default sampling method for all Origin systems, and
          PowerChallenge/PowerOnyx R10000 systems. This option is not
          available on other systems.

     -cntr n
          Use R10000 hardware event counter n as the event trigger.  Default
          is number of cycles; event 0.

     -ovfl n
          Trigger after n events have occurred.  Default is 10,000.

     -pcmin min
          Ignore events that have a program counter smaller than min.


     -pcmax max
          Ignore events that have a program counter larger than max.

     -damin min
          Ignore memory operations that have a virtual addresses smaller than
          min.

     -damax max
          Ignore memory operations that have a virtual addresses larger than
          max.

     -page
          Use pagesize (16k bytes) granularity for memory access sampling.
          This is the default size.

     -line
          Use cache linesize (128 bytes) size granularity for memory access
          sampling.

     -hex Use hex (64 bytes) size granularity for memory access sampling.

     -oct Use oct (32 bytes) size granularity for memory access sampling.

     -quad
          Use quad (16 bytes) size granularity for memory access sampling.

     -double
          Use double (8 bytes) size granularity for memory access sampling.

     -int Use int (4 bytes) size granularity for memory access sampling.

     -word
          Use int (4 bytes) size granularity for memory access sampling.

     -sigusr
          Sampling is not started until SIGUSR1 is received. Further SIGUSR1
          signals toggle sampling off and on.

     -out file
          Output is sent to file rather than standard output.

     -pout dplace_file
          Placement information suitable for dplace(1) is written to
          dplace_file.

     -threads_per_mem n
          When building dplace_file a thread assignment that assumes n threads
          per memory is assumed. The default is two threads per memory.

     -verbose
          Detailed diagnostic information is written to standard error.


EXAMPLE
     To collect a memory access histogram from a program called a.out that
     would normally be run by
        % a.out < in > out
     and place the results in a file called histogram one would simply
        % dprof -out histogram a.out < in > out .


DEPENDENCIES
     dprof options -hwpc, -cntr n and -ovfl n only apply to R10000 based
     systems.


NOTES
     dprof option -pout will generate a simple placement file based on the
     count of page references per the sampling criteria. This is a basic
     placement file which cannot take into consideration such factors as
     temporal access, node distance, and absolute page reference counts, and
     large pages.


SEE ALSO
     dplace(1), sproc(2), r10k_counters(5)


                                                                        Page 3