Profiler counters on Vista When will this become available?


I am trying to profile my CUDA ray tracer but using the CUDA profiler is pointless at the moment because of the missing profiler functionality. Does anyone know when this might become available or if there are any ways around this problem?


Ways around it are:

  1. use windows XP

  2. use Linux

But I will not be able to compile my code on linux and I’ve read that GPU programs are limited to running for 5 seconds on XP and obviously my raytracer will need to run for longer than 5 seconds. Unless I use XP purely for profiling and keep switching between the two. Do you know if I can access XP using virtual pc (virtualisation) and if so, can I use this method to profile my CUDA program whilst running vista but having Xp in a separate window?

I believe there is no difference between XP and Vista for the maximum duration of a kernel, or can you disable the watchdog in Vista even for the display-GPU?

Virtual machines are unfortunately a no-go. I have no idea when NVIDIA will have a working profiler on vista, I believe this is due to the changed driver model of vista, so it might be a while (it also took a while for CUDA to become available on Vista)

So here’s how Vista works with regards to timeout…

There’s a global WDDM (WDDM = Windows Display Driver Model, I think?) timeout that is triggered whenever a GPU is unresponsive (e.g., busy) for more than 2 seconds. There are registry keys to change this timeout, but since it’s global, it affects all GPUs. So yeah, you can blow away the timeout completely in Vista, which is probably a bad thing but there you are.…dm_timeout.mspx

Can you disable the watchdog timer in XP though? I thought I read in the release notes of CUDA 2.1 that the max runtime of a CUDA exe is 2 secs or something. Is there anyway around this as I need to use the visual profiler and it doesn’t give enough useful information using Vista!

Can’t disable it in XP–you have to use a dedicated compute card.

Sorry for being ignorant, but can I put a cheaper (non-cuda) card in one of my slow pci-express slots and use it as primary adapter and the cuda card as my secondary (or whatever) card? and how easy would it be to change to the cuda card to primary to play games etc.

Yes, and I don’t really know, I am not much of a gamer guy.

Sorry, one last question, in XP and the release notes, does individual program launches (being limited to 5 seconds) refer to actually kernel functions or the whole C++ program exe? My kernel takes roughly 0.02 secs to execute but my program will stay open indeterminately.

Individual kernel launches.