Extrae API

Issue #80 new
jg piccinali repo owner created an issue
program jg

  #ifdef _EXTRAE
        use, INTRINSIC :: ISO_C_BINDING, ONLY: C_CHAR,C_NULL_CHAR,C_PTR,C_LOC
        use extrae_module
  #endif

implicit none

  #ifdef _EXTRAE
        INTEGER(KIND=8), PARAMETER, DIMENSION(2) :: extrae_values = (/ 0, 1 /)
        CHARACTER(KIND=C_CHAR,LEN=6), DIMENSION(2), TARGET :: & 
          extrae_descr_values                                   
        TYPE(C_PTR), DIMENSION(2) :: extrae_descr_values_ptrs   
        CHARACTER(KIND=C_CHAR,LEN=20) :: extrae_evt_desc = &    
          "jgLoop1" // C_NULL_CHAR                          
        !call extrae_version(extrae_majorv, extrae_minorv, extrae_revisionv)
        !print *, "EXTRAE version:", extrae_majorv, extrae_minorv, extrae_revisionv
        extrae_descr_values(1) = "End  " // C_NULL_CHAR         
        extrae_descr_values(2) = "Begin" // C_NULL_CHAR         
        extrae_descr_values_ptrs(1) = C_LOC(extrae_descr_values(1))
        extrae_descr_values_ptrs(2) = C_LOC(extrae_descr_values(2))
  #endif

call MPI_INIT(ierr)

  #ifdef _EXTRAE
        call extrae_define_event_type (1000, extrae_evt_desc, 2, &
                extrae_values, extrae_descr_values_ptrs)        
        call extrae_shutdown()                                  
  #endif

...

  !.....Start iterations.                                                      
        do l=iterini,nnl                                                   

  #ifdef _EXTRAE
      !if ( (l==2) .or. (l==5) .or. (l==9) ) then                              
      if ( (l==200) .or. (l==500) .or. (l==900) ) then                         
          call extrae_restart()                                                
          call extrae_event(1000, int(l,8))                                    
      endif                                                                    
  #endif        

...

  #ifdef _EXTRAE
          if ( (l==210) .or. (l==510) .or. (l==910) ) then                     
            call extrae_event(1000, 0_8)                                       
            call extrae_shutdown()                                             
          endif                                                                
  #endif    

enddo

 #ifdef _EXTRAE
        call extrae_fini()                                                     
 #endif                                                                       
        call MPI_FINALIZE(ierr)    

end program jg

Comments (1)

  1. jg piccinali reporter
    module load Extrae/3.5.2-CrayIntel-17.08
    ftn -c extrae-3.5.2_src/include/extrae_module.f90
    
    ftn -D_EXTRAE -I$EBROOTEXTRAE/include -qopenmp   -O3 -fpp  main.F90 -dynamic -o exe
    
    srun --ntasks=$SLURM_NTASKS ./trace.sh ./exe
    

    trace.sh

    #!/bin/bash
    export EXTRAE_HOME=$EBROOTEXTRAE
    source $EXTRAE_HOME/etc/extrae.sh
    export EXTRAE_CONFIG_FILE=~/extrae_sphynx.xml
    export LD_PRELOAD=$EXTRAE_HOME/lib/libompitracef.so
    ## Run the desired program
    $*
    
  2. Log in to comment