Hello,

I’am using PGI 7.1 with a sample MPI program:

```
program main
include 'mpif.h'
double precision PI25DT
parameter (PI25DT = 3.141592653589793238462643d0)
double precision mypi, pi, h, sum, x, f, a
integer n, myid, numprocs, i, ierr
c function to integrate
f(a) = 4.d0 / (1.d0 + a*a)
call MPI_INIT(ierr)
call MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr)
call MPI_COMM_SIZE(MPI_COMM_WORLD, numprocs, ierr)
n=100000
c broadcast n
call MPI_BCAST(n,1,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)
c check for quit signal
if ( n .le. 0 ) goto 30
c calculate the interval size
h = 1.0d0/n
sum = 0.0d0
do 20 i = myid+1, n, numprocs
x = h * (dble(i) - 0.5d0)
sum = sum + f(x)
20 continue
mypi = h * sum
c collect all the partial sums
call MPI_REDUCE(mypi,pi,1,MPI_DOUBLE_PRECISION,MPI_SUM,
& 0,MPI_COMM_WORLD,ierr)
c node 0 prints the answer.
if (myid .eq. 0) then
print *, 'pi is ', pi, ' Error is', abs(pi - PI25DT)
endif
c goto 10
30 call MPI_FINALIZE(ierr)
stop
end
```

I am trying to use Pgprof, so I compile the code with the command:

```
pgf77 -Mprof=mpich1,lines mpi_test.F
```

Then I run the program on 4 processors, but I get only the following files:

```
pgprof.out
pgprof2.out
pgprof3.out
```

I don’t know why I don’t have pgprof1.out. Moreover I cannot read pgprof.out with pgprof, cause in pgprof.out I have the following:

```
PROF NODALL 0 a.out 1201526244 1201526063
h n96 11748 0 4
t 1 1
p 0
f mpi_test.F
r main 1 1 1 0.291125 0.291125 0 0
i pgprof1.out
i pgprof2.out
i pgprof3.out
z
```

Pgprof says:

```
pgprof> pgprof profile5: Invalid profile file pgprof.out
```

…and if I run:

```
cp pgprof2.out pgprof1.out
```

then its OK, but of course its not a solution. I still dont have performance counters from 1st process.

Have you ever seen such problems with Pgprof?

Best regards,

Maciek