Problems profiling

Hi I’m working with a scientific program in Fortran. It consists of a main file flutter.f90, and several subroutines and modules contained in other files.
I compile the whole thing with the following script

//first I produce the object files
pgf95 -c -Mfixed -Mprof=func *.f90
//delete the unused one
rm flutter.o -f
//then compile the main program using the objects created before
pgf95 -Mfixed -Mprof=func flutter.f90 -o prog *.o

The issues I found are:
1)Time measured by the profiler is different(longer) than the one I measured in the application.
2)Althought the program improves when using vectorization(1.4 times, measured by code inside the program), when I compile it for profiling the results (as reported by the profiler) are different.
It actually says that both programs behave the same and with a time about 30 times greater than the ones that were not compiled for profiling.

Any ideas on what should be the problem will be appreciated.

Thanks in advance

Hi Betal,

You may be noticing some unexpected times due to the fact that -Mprof=func does induce some overhead on the program to perform its profiling. This is especially noticeable on programs that do not run for a long time. If you’re using a linux system, then I recommend trying the -Mprof=time option. There is also a way to profile the hardware counters on linux as well…consult the PGI Tools Guide ( for more information.