PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

Accelerator Kernel Timing info

 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming
View previous topic :: View next topic  
Author Message
szczelba



Joined: 29 Jun 2010
Posts: 26

PostPosted: Wed Dec 08, 2010 2:05 am    Post subject: Accelerator Kernel Timing info Reply with quote

Hello,

I'm trying to analyze performance of my code. I found -ta=nvidia,time option, which prints the accelerator kernel timing information.
Unfortunately I'm working on a program that is closed. I have only a source code of a one procedure. Standard I/O are controlled by other procedures, so that my procedure cannot print anything to std output. I can only print to files. So how can I print the timing information?

Regards,
Jacek
Back to top
View user's profile
mkcolg



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

PostPosted: Wed Dec 08, 2010 9:51 am    Post subject: Reply with quote

Hi Jacek,

Can you run your program using the 'pgcollect' utility? (i.e. 'pgcollect my.exe -args').

This will produce a 'pgprof.out' profile file that can be read by PGPROF and will include accelerator performance.

- Mat
Back to top
View user's profile
szczelba



Joined: 29 Jun 2010
Posts: 26

PostPosted: Thu Dec 30, 2010 5:29 am    Post subject: Reply with quote

Hello,

I'm rewening the topic. I've tried to run the program using pgcollect. It generated few files, one of them is pgprof.out.
Then, I open pgprof and open new profiling session.

Profile: path to pgprof.out
Executable: path to executable program
Source: path to program sources

Then I get error info that the pgprof.out and/or the executable program are invalid. What can be wrong?
Additionaly, when I run the program through pgcollect it is considerably slower. (sic!)

But for me, it would be better to gain access to terminal and output the kernel timing info from -ta=nvidia,time option. In the code that I'm working with, there are a few variables for the logical i/o unit numbers. They are defined as parameters in a separate file (I have access). The variable for writing to terminal is called ITTY (equals 6). Using
write(itty,*) 'Something...' or write(*,*) 'Something...' is printing a text on the terminal, but the timing info does not appear anywhere. Where is the accelerator timing info printed out by default? (stdout? stderr?)

[Edited]
Back to top
View user's profile
szczelba



Joined: 29 Jun 2010
Posts: 26

PostPosted: Fri Dec 31, 2010 4:52 am    Post subject: Reply with quote

Funny thing - I've again learn that it's all about asking. When I ask about something, the answers often comes by it's own, without somebody's answer.

I've found that the option -ta=nvidia,time has to be added also to the linking command, not only to the compilation stage. This way I have a beautiful accelerator kernel timing info. :)

Thanks for reading!
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
Page 1 of 1

 
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