preview of NVIDIA Visual Profiler

Similarly, if you run any of the SDK examples since they prompt to “Press ENTER to exit…” you’ll get the Error -94 message.
To avoid this, add: -noprompt
in the Profile->Session Settings: Arguments box

On a separate note for those new to trying this: the default behavior is to have the signals in the Signal List turn-off. Perhaps we should switch this as it’s much more useful having them on by default.
Go to Profile->Session Settings and click the Configuration tab to get the signal list

I need to say thank you for this tool…
Am I right when I say there is no need to do your own timings anymore?
and you don’t have to use the annoying occupancy calculator? :) :magic:

Thanks again NVIDIA!!!

Regarding point (1). The C++ kernel names are already demangled by the Visual Profiler. Do you find any mangled names in the table shown in the Visual Profiler?

Yes, and also in the graphs:

I’ve put the beginning of the corresponding .csv file here.

The kernels were compiled using gcc 4.1.2.

The rest of the application was compiled using gcc 4.2 on Mandriva Linux 2008.0

This is a good idea and we already have a feature request for this on record.

#3 is likely very difficult, but we’ve taken note of it. It will be important as more graphics developers start to use CUDA.

#4 is also a good idea. We’ll add it to the list!

Thanks for the feedback!

Mark

Nice work - this is a very promising tool.

A feature request of mine would be information about texture lookups. Especially L1 & L2 cache hits and misses. Total number of bytes read from each texture would also be useful.

Thank you for releasing this.

Here’s one comment, not really a complaint, regarding this part of the visual profiler setup:

AFAIK, setting LD_LIBRARY_PATH is considered harmful.

Here’s a link:

http://linuxmafia.com/faq/Admin/ld-lib-path.html

In the Linuxmafia link above, something like this is considered better:

export LDFLAGS="-L<CudaVisualProfilerInstallDir>/CudaVisualProfiler/bin"

Setting LDFLAGS like that didn’t work for me, though.

The profiler probably runs either way, but doing it the ‘right’ way will calm down the angry folks.

I also had some problems with the $LD_LIBRARY_PATH i just added it to the list by hand. and now it is not complaining about missing cuda libraries.

The reason LDFLAGS didn’t work is because it was trying to set a linker option, which you can only use at compile time to record the location of the library. That only works if you are installing the library into a fixed location, though. (And only if your build script knows to look at LDFLAGS to pass options to the linker. In some cases, you’ll have to put that direct on the command line yourself.)

The documentation on the Visual Profiler is assuming you are going to unpack the library in your home directory somewhere and run it. In this case, setting LD_LIBRARY_PATH is pretty much the only option. The step could be removed by replacing cudaprof with a shell script that sets the LD_LIBRARY_PATH internally and then runs the real binary, like how mozilla/firefox work.

Of course, if you copy the libraries to a standard location, like /usr/lib, no LD_LIBRARY_PATH will be required.

What does “echo $LD_LIBRARY_PATH” show?

/home/jcvaneijk/New Raytracer/GPURayTrace% echo $LD_LIBRARY_PATH

/opt/intel/cc/9.0/lib:/usr/local/cuda/lib:/home/jcvaneijk/work/MAKEHOME/lib/release-LX/:/usr/lib/X11:/usr/X11R6/lib:/usr/lib:/usr/lib/gcc/i386-redhat-linux/3.4.3/:/usr/local/lib:/AMC_apps/linux/packages/lib:/usr/local/Trolltech/Qt-4.3.1/lib:/usr/local/qwt/lib

Hi everybody,

thanks for providing this tool.
I have a very erratic behaviour together with one of my benchmark kernels. If I execute it within the CudaVisualProfiler it doubles its performance. The time measured by CudaVisualProfiler and my own timing routine are the same.

Thanks!

Johannes

I have to say. Always run through Visual Profiler then ;)

Hi everybody,

thanks for providing this tool.
When I use it with the SDK SimpleTexture example, I obtain for gts_incoherent 524288!
When I look at the code, they seem to be coalesced, so why not???

sincerely yours

Dominique

Is there any chance of a 64-bit Linux build? I can’t get it to work on my CUDA machine (complains about a missing libpng library, which can’t be right), seems I’m missing out on a great tool External Image

Runs fine on my 64bit ubuntu with x32 and x64 compiled Cuda programs.

Perhaps you have to tweak your path to point to x32 and x64 libs?

Just a guess here, as I’ve nothing to do with administration.

HTH

Johannes

Well yes I don’t have a full set of 32 bit libraries on this system, and I’m sure if I manually installed libpng it would complain about the next one, and so on…

I remember I also has some trouble getting it to work.

Workaround when you have CudaVisualProfiler extracted onto your Desktop :

LD_LIBRARY_PATH=:/home/username/Desktop/CudaVisualProfiler/bin
in a terminal cd /home/username/Desktop/CudaVisualProfiler/bin
./cudaprof

That did the trick for me, but YMMV

For those who don’t know, Visual profiler v0.2 beta has been released on the 23rd. There are improvements. The kernel names are actually demangled now. And personally the 2 features I’ve asked have been added (CPU times appear in the summary table and you can actually import a .csv file without creating a new empty project first). So thanks NVIDIA!

Hi i dont know if this is a silly question … i keep getting this error when i try and use the tool:

=== Start profiling for session ‘Session1’ ===
Start program ‘D:/MyViews/erir_Ver10/OptiTex/Release/Container.exe’ run #1
Program run #1 completed.
Error -97 in reading profiler output.
Unable to open file.
Close project ‘test2’

my kernel runs as a part of a bigger program with a gui, but it all seems to run well, do i have to run the program separately and get the profiling data and then import it to the visual profiler ?

Thanks