Hello .
The pgcollect tools was working well with pgi13.10 & OpenAcc code ,
but now with the 14.X version it not working again …
I’m using OpenSuse12.3 + cuda6.5 on this test ( but cuda5.5 give the same problem)
Here a simple code calling 2 routines , to show it :
MODULE mode_sub
CONTAINS
SUBROUTINE init(X)
IMPLICIT NONE
REAL :: X(:)
!$acc kernels
X = 1.2345
!$acc end kernels
END SUBROUTINE init
!-------------------------------------
SUBROUTINE sub(X)
IMPLICIT NONE
REAL :: X(:)
!$acc kernels present(X)
X = X * 0.9995
!$acc end kernels
END SUBROUTINE sub
END MODULE mode_sub
PROGRAM test_pgcollect
USE mode_sub
IMPLICIT NONE
INTEGER, PARAMETER :: N=100000000, NIT=1000
REAL, ALLOCATABLE :: A(:)
!$acc declare create(A)
INTEGER :: I
ALLOCATE(A(N))
CALL INIT(A)
DO I=1,NIT
CALL SUB(A)
END DO
!$acc update host (A(N:N))
print*,"A(N)=",A(N)
END PROGRAM test_pgcollect
=> With pgf90/13.0
pgf90 --version
pgf90 13.10-0 64-bit target on x86-64 Linux -tp nehalempgf90 -ta=nvidia,cuda5.5 openacc_pgcollect.f90 -o openacc_pgcollect_1310
pgcollect openacc_pgcollect_1310
Profiling single-threaded target program
A(N)= 0.7486508
target process has terminated, writing profile datapgprof
The pgprof tool give as expected in the main window , a big region time & kernel device time in sub subroutine
=> But with the pgi/14.9 , the profiling look also OK , but no region or kernel (device) time is reported in the main pgprog window
pgf90 --version
pgf90 14.9-0 64-bit target on x86-64 Linux -tp nehalempgf90 -ta=nvidia,cuda5.5 openacc_pgcollect.f90 -o openacc_pgcollect_149
pgcollect openacc_pgcollect_149
Profiling single-threaded target program
A(N)= 0.7486508
target process has terminated, writing profile data
pgprof
The pgprof window only show a [System_Time] Function with only a ‘Seconds’ (host) colum of data
The pgprof.out file look very similar with the 2 compilers , but the pgi/14.9 on seam to miss
some information .
For example , I could check that the pgi/14.9 one doesn’t generate this tag
9
which appear systematically with the pgi/13.10 one after this one
4
Thanks in advance for the help
Juan