how to see number of registers used

Hi,

I am using PVF V10.8 and I need to know how I can learn detailed statistics about the usage of the GPU during a kernel launch, like the number of registers used, the time for data transfers etc. Is there a certain flag to do that? I tried -ta=nvidia,time but it doesn’t show anything on the screen, or I don’t know where to look?

Thanks
Bulent

Hi Bulent,

“-ta=nvidia,time” is for the PGI Accelerator Model and from you’re previous posts I believe you’re using CUDA Fortran. In this case, the flag “-Mcuda=ptxinfo” will display register usage. The flag does not appear in the PVF properties pages so you will need to add it manually to the ‘Properties->Fortran->Command Line’.

For example:

ptxas info    : Compiling entry function 'mmul_kernel'
ptxas info    : Used 14 registers, 2072+16 bytes smem, 12 bytes cmem[1]
ptxas info    : Compiling entry function 'mmul_kernel'
ptxas info    : Used 14 registers, 2072+16 bytes smem, 12 bytes cmem[1]
matmul build succeeded.

Profiling is not integrated into PVF. Hence, to generate profiling information, from a PGI DOS Command Window, run your program using the ‘pgcollect’ utility. You can then use the PGI Profiler, pgprof, to view the results. Full details can be found in the PGI Tool’s Guide.

Alternatively, you can insert your own timing calls using CUDA events. I show the basics on how to do this in the following post. Do loop inside kernel

Hope this helps,
Mat