Search code examples
performanceopenmpintelicc

.gvs (GuideView openmp statistics) file format


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

Solution

  • 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