0

Is there a format of *.gvs files, used by GuideView OpenMP performance analyser?

The "guide.gvs" is generated, f.e. by intel's OpenMP'ed programmes with

 $ export LD_PRELOAD=<path_to_icc_or_redist>/lib/libiompprof5.so
 $ ./openmp_parallelized_prog
 $ ls -l guide.gvs
osgx
  • 90,338
  • 53
  • 357
  • 513
  • There is no libiompprof5.so in recent releases of the Intel Compiler (version 14), but it was here in epoch of version 11 and around. This part was not open-sourced in openmprtl.org process. Now VTune/Threading Tools is used to profile OpenMP programs, and there is "itt" (`ittnotify`, Instrumentation and Tracing Technology (ITT) API - https://software.intel.com/en-us/articles/intel-itt-api-open-source) thirdparty interface between libomp (openmprtl) and VTune or Threading Tools. – osgx Jun 10 '14 at 18:39

1 Answers1

1

It s a plain text.

Here is an example of such from very short omp programme:

$ cat guide.gvs 

*** KAI statistics library  k3301


*** Begin Task 0

Environment variables:
  OMP_NUM_THREADS  : 2           
  OMP_SCHEDULE     : static      
  OMP_DYNAMIC      : FALSE       
  OMP_NESTED       : FALSE       
  KMP_STATSFILE    : guide.gvs    
  KMP_STATSCOLS    : 80           
  KMP_INTERVAL     : 0            
  KMP_BLOCKTIME    : 200          
  KMP_PARALLEL     : 2            
  KMP_STACKSIZE    : 2097152      
  KMP_STACKOFFSET  : 0            
  KMP_SCHEDULING   : <unknown>    
  KMP_CHUNK        : <unknown>    
  KMP_LIBRARY      : throughput    
end                                

System parameters:
  start      : Wed Nov  1 12:26:52 2010    
  stop       : Wed Nov  1 12:26:52 2010    
  host       : localhost                     
  ncpu       : 2                           
end                                        

Unix process parameters:
  maxrss     : 0           
  minflt     : 440         
  majflt     : 2           
  nswap      : 0           
  inblock    : 208         
  oublock    : 0           
  nvcsw      : 6           
  nivcsw     : 7           
end                        

Region counts:
  serial regions   : 2           
  barrier regions  : 0           
  parallel regions : 1           
end                              

Program execution time (in seconds):
  cpu              :     0.00 sec    
  elapsed          :     0.04 sec    
    serial         :     0.00 sec    
    parallel       :     0.04 sec    
  cpu percent      :     0.01 %      
end                                  

Summary over all regions (has 2 threads):
# Thread                #0       #1      
  Sum Parallel  :    0.036    0.027      
  Sum Imbalance :    0.035    0.026      
  Min Parallel  :    0.036    0.027      
  Min Imbalance :    0.035    0.026      
  Max Parallel  :    0.036    0.027      
  Max Imbalance :    0.035    0.026      
end                                      

Region #1 (has 2 threads) at main/9 in "/home/user/icc/omp.c":
# Thread                #0       #1                          
  Sum Parallel  :    0.036    0.027                          
  Sum Imbalance :    0.035    0.026                          
  Min Parallel  :    0.036    0.027                          
  Min Imbalance :    0.035    0.026                          
  Max Parallel  :    0.036    0.027                          
  Max Imbalance :    0.035    0.026                          
end                                                          

Region #1 (has 2 threads) profile:
# Thread       Incl     Excl Routine 
  0,0    :    0.000    0.000 main/9 "/home/user/icc/omp.c"  
  1,0    :    0.000    0.000 main/9 "/home/user/icc/omp.c"  
end                                                        

Serial program regions:
  Serial region #1 executes for 0.00 seconds
    begins at START OF PROGRAM              
    ends before region #1 (using 2 threads) at main/9 in "/home/user/icc/omp.c"
  Serial region #2 executes for 0.00 seconds                                  
    begins after region #1 (using 2 threads) at main/9 in "/home/user/icc/omp.c"
    ends at END OF PROGRAM                                                     
end                                                                            

Serial region #1 profile:
# Thread       Incl     Excl Routine 
end                                  

Serial region #2 profile:
# Thread       Incl     Excl Routine 
end                                  

Program events (total):
# Thread                #0       #1
  mppbeg        :        1        0
  mppend        :        1        0
  serial        :        2        0
  mppfkd        :        1        0
  mppfrk        :        1        0
  mppjoi        :        1        0
  mppadj        :        1        0
  mpptid        :       51       50
end

Region #1 (has 2 threads) events:
# Thread                #0       #1
  mppfrk        :        1        0
  mppjoi        :        1        0
  mpptid        :       50       50
end

Serial section events:
# Serial                #1       #2
  mppbeg        :        1        0
  mppend        :        0        1
  serial        :        1        1
  mppfkd        :        1        0
  mppadj        :        1        0
  mpptid        :        1        0
end

*** end
osgx
  • 90,338
  • 53
  • 357
  • 513
  • some descriptions http://www.acsu.buffalo.edu/~charngda/iompprof.html Also pages 27-34 of http://www.compunity.org/events/ewomp03/omptalks/wednesday/PET1/mohr_ibm.pdf – osgx Feb 15 '11 at 13:27
  • The http://www.compunity.org/events/ewomp03/omptalks/wednesday/PET1/mohr_ibm.pdf link titled "The IBM OpenMP Programming Environment (juelich multiprocessor)" (by Luiz DeRose and Bernd Mohr). Also small example is here - http://www.lrz.de/services/compute/supermuc/tuning/guideview/ "LPZ: GuideView". The GuideView was originally developed as part of "KAP/Pro Toolset for OpenMP", and we can see strings like "KAI statistics library" and env vars like "`KMP_`.." and nams like "`__kmpc_`..". KAI was dissolved inside Intel since 2000: http://www.intel.com/pressroom/archive/releases/2000/cn040600.htm – osgx Jun 10 '14 at 18:29