The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

loopreport (1)
  • >> loopreport (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • 
    NAME
         loopreport - print loop timing data to stdout
    
    SYNOPSIS
         looptool [ -p path] [image-file] [timing-file]
    
         loopreport [ -p path] [image-file] [timing-file]
    
    DESCRIPTION
         looptool and loopreport produce summaries  of  loop  perfor-
         mance.   Compile  your f77, f90 or C source files with -Zlp,
         run the resulting executable and invoke either  looptool  or
         loopreport.   looptool  is  the  graphical  user  interface.
         loopreport is the command line interface, and it writes  the
         summary of loop performance to stdout.
    
    OPTIONS
         -p   Search path first for loop timing files.
    
         -x   Disable  usage  tracking.   Usage  tracking  is  on  by
              default in early access releases.  Usage tracking means
              that when you use the tool, an email message is sent to
              the developer.
    
    USAGE
         The first step is to instrument your program.  Compile  with
         the  switches -xO3 or -xO4, -xparallel, and -Zlp.  If you do
         not specify either -O3 or -O4, the driver adds -O3  to  your
         compile  line.   If  you  do  not specify -parallel, the f77
         driver adds -xdepend to your compile line.
    
         The  -Zlp  switch  takes  an  optional  argument,  n,  which
         instructs  the compiler not to instrument loops with a nest-
         ing level greater than n. By default, all loops are  instru-
         mented.    If  you  specify  -Zlp=2, then only the outer two
         levels of loops are instrumented. This option is provided in
         case the overhead of instrumenting all loops seems unaccept-
         ably high.
    
         The second step is to run the instrumented executable.   The
         instrumented  executable silently creates a timing file when
         it finishes running.    The  name  of  the  timing  file  is
         programname.looptimes  by default.   If you set the environ-
         ment variable LVPATH, then the timing file  is  put  in  the
         directory LVPATH and named pid.programname, where pid is the
         process id, and programname is the name of your executable.
    
         The third step is to run one of the postprocessors, looptool
         or  loopreport. If you invoke looptool without giving it the
         name of a program, then by default the GUI prompts you  with
         a  pop-up window for a program name.  If you invoke looptool
         or loopreport without specifying an executable, the  default
         file vgam is displayed.
    
         Both looptool and loopreport read  two  files:  the  instru-
         mented  executable  and  its associated timing file.   Typi-
         cally, the timing file resides in the same directory as  the
         executable,  and is named programname.looptimes. However, if
         you use the command line option -p path then  the  directory
         named  path  is  searched first for timing files.   Next, if
         the environment variable LVPATH is set, the directory  named
         by  LVPATH is searched.  Finally, the current working direc-
         tory is searched for timing files.
    
         looptool represents loop timing data in bar charts.   Click-
         ing  on  a loop's representation with the first mouse button
         brings up that loop's source code in an editor window.  Loop
         characteristics,  such as which transformations were applied
         to the loop, are shown as part of the source code display.
    
         For example, some loop characteristics are
                   o loop's beginning source line number
                   o loop's nest level
                   o is loop parallel or serial?
                   o loop contains an MT-unsafe call
                   o compiler generated two versions of code for this
                   loop, parallel and serial
                   o a variable in the loop caused a data dependence
                   o loop is unprofitable to parallelize
                   o two or more loops  were  fused  or  interchanged
                   (and  thus  source line numbers may not match run-
                   time data exactly)
                   o  loop  was  parallelized  because  the  explicit
                   parallelization pragma was used
                   o loop has multiple exits,  and  therefore  timing
                   data may be suspect
                   o loops contains I/O
                   o loop has backward flow of control
    
         Check the manual for the version of Fortran  or  C  you  are
         using  to  compile  your  program to make sure that the -Zlp
         switch is recognized by the compiler.
    
    ENVIRONMENT
         LVPATH    If the  environment  variable  LVPATH  contains  a
                   value,  then an instrumented executable will place
                   its loop timing data in that directory, in a  file
                   named  pid.programname. pid is the process id, and
                   programname is the value stored in argv[0],  minus
                   any  path prefixes. looptool and loopreport search
                   directories for timing files in this order: first,
                   a directory specified with -p on the command line;
                   second, a directory named by LVPATH; finally,  the
                   current working directory.
    
         LD_LIBRARY_PATH
                   If looptool cannot find the Motif library when  it
                   starts  up  (libxm.so)  then  set this variable to
                   include a path with an appropriate  Motif  library
                   such as:
    
                   %  setenv LD_LIBRARY_PATH /local-motif-path: $LD_LIBRARY_PATH
    
    
         PARALLEL  This variable should be set to the number of  pro-
                   cessors  on your machine, before you compile.  For
                   example, if your machine has two processors:
    
                   % setenv PARALLEL 2
    
    EXAMPLES
            % f77 -xO4 -xparallel -Zlp prog.f -o foo    (instrument foo)
            % foo                                                 (run foo)
            % looptool foo                                      (run looptool)
            % loopreport foo > foo.loopreport            (create report)
    
    FILES
         programname              Instrumented binary
    
         liblv.a                  Library that contains  loop  timing
                                  functions;  an instrumented execut-
                                  able links with liblv.a.
    
         programname              The  text  file  that  is  silently
                                  created  by an instrumented execut-
                                  able when it finishes running.   It
                                  contains the loop timing data.
    
         loopreport               Executable that prints a summary of
                                  loop performance data to stdout.
    
         looptool                 Executable that displays loop  data
                                  graphically.
    
    SEE ALSO
         f77(1)
         cc(1)
         Analyzing Program Performance With Sun WorkShop.
    
    DIAGNOSTICS
         The diagnostics produced  by  looptool  and  loopreport  are
         intended  to  be self-explanatory.   Occasional messages may
         be produced by system calls if a  selected  file  cannot  be
         opened.
    
    BUGS
    
         The loop line numbers and nesting levels may  be  incorrect.
         This  information  is  derived  by  the  compiler during its
         optimization phase, and may not  exactly  match  the  source
         line numbering and source nesting.
    
         Loop times are measured as wallclock  elapsed  time.   If  a
         loop  is  parallelized, it is credited with the elapsed time
         for all of the instances of the loop.  Thus, inner parallel-
         ized  loops may sometimes be credited with more elapsed run-
         time than the outer loop that encompasses  the  parallelized
         loop.   This is not a bug - this is expected behavior! - but
         it can be misleading.
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру