How to tell identical GPUs apart

Hey, I have two Quadro 5800s in my system. How can I tell which GPU is which using CUDA. Is there any other identifying information other than the ‘name’ field from the device properties, thats just ‘Quadro 5800’ for both cards.
In particular I want to make sure that the GPU I’m using for CUDA is the same GPU that I’m referring to using NVAPI, and using to render OpenGL using wgl_nv_gpu_affinity.
So far it seems that gpu_affinity and CUDA doesn’t always enumerate the devices in the same order.
Any ideas?

Check the GPU temperatures while you have an application running on one of the GPU.
You should be able to identify device 0 from device 1.

AFAIK, there’s currently no way to get CUDA DeviceId <-> NVAPI DeviceId mapping.

I like that, thats thinking out of the box!

Unfortunately both GPUs are running (one .exe for each GPU), so it won’t work in this case.

You just need to establish the mapping (on the same OS, driver and machine it will not change), just run one CUDA executable at the time to see which one is device 0.
Then do the same using NVAPI, and you will know if the order is the same.

That’s fine for me, but I need to solution that will work for end-users automatically. I guess the answer is that there isn’t one yet. Is one planned?

I will ask around, I don’t use Windows.