PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

Free OpenACC Webinar

mpif90 and -ta=nvidia,time
Goto page 1, 2  Next
 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming
View previous topic :: View next topic  
Author Message
TheMatt



Joined: 06 Jul 2009
Posts: 322
Location: Greenbelt, MD

PostPosted: Tue Sep 01, 2009 12:42 pm    Post subject: mpif90 and -ta=nvidia,time Reply with quote

This is another "might be a bug, might be a feature" question. In my ongoing testing (viz. this forum and my current near-spamming of it), a driver-kernel I made up seemed to show an interesting oddity. Usually, in my code, I tend to use MPI_Wtime as a Fortran timer since it's fairly portable, looks at wall time, and is one of those few MPI bits that doesn't care about MPI that much.

But, I noticed that when I compile my driver with FC=mpif90 rather than FC=pgifortran, the -ta=nvidia,time timing information isn't outputted. My compile string is:
Code:
$(FC) -fast -Kieee -Minfo=all,accel -r4 -Mextend -Mpreprocess -Ktrap=fp -ta=nvidia,time
I then run my code, which is uniprocessor, without mpirun or anything, just ./command.exe. With pgfortran, I get the Accelerator Kernel Timing data, with mpif90, I do not. I've even removed all the bits of MPI from 'use mpi' to 'MPI_Finalize(ierr)' and this is consistent even then.

I suppose my question now is, is this expected behavior? That is, because of the nature of mpif90, the wrapper is shuttling the timing data to /dev/null or some other stream? Or should mpif90 output this data, albeit without any guarantee of when and where and how many processes do so if you run on >1 process (like most WRITEing with MPI)?
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6218
Location: The Portland Group Inc.

PostPosted: Thu Sep 03, 2009 10:20 am    Post subject: Reply with quote

Hi Matt,

Looks like a driver configuration issue where mpif90 isn't pulling in the "kvprint.o" object which is used to print the profiling information. To work around the issue, either use "pgf90 -Mmpi" instead of "mpir90" or add the file "/opt/pgi/linux86-64/9.0-3/lib/kvprint.o" to you link. (update the path to match your system).

I'll send a report to engineering and see if we can get this fixed.

Thanks,
Mat
Back to top
View user's profile
TheMatt



Joined: 06 Jul 2009
Posts: 322
Location: Greenbelt, MD

PostPosted: Thu Sep 03, 2009 12:09 pm    Post subject: Reply with quote

Yep, that fixed it. Just for my own edification, if I'm using the built-in mpich, is there any difference between "pgf90 -Mmpi" and "mpif90", bug aside? (I can see a possibility if it was OpenMPI with its more complex set of wrappers.)

Last edited by TheMatt on Fri Sep 04, 2009 9:23 am; edited 1 time in total
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6218
Location: The Portland Group Inc.

PostPosted: Thu Sep 03, 2009 2:16 pm    Post subject: Reply with quote

"-Mmpi" will use the pre-built MPI libraries that are included with the PGI products. Note, I just built OpenMPI 1.3 and found that the kvprint.o object does correctly get add to the link when using the OpenMPI mpif90 driver. So using openMPI is another work around.

- Mat
Back to top
View user's profile
hwswcodesign



Joined: 18 Nov 2009
Posts: 3

PostPosted: Tue Nov 24, 2009 2:55 am    Post subject: Reply with quote

I have the same problem using pgcc (10.0-0 64-bit target on x86-64 Linux -tp penryn-64). Using -ta=nvidia,time no timing information is given.
However, linking manually with "/opt/pgi/linux86-64/10.0/lib/kvsetta.o" prints the timing information when the program is executed.

Richard
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming All times are GMT - 7 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group