tags:

views:

64

answers:

2

How can I programmatically determine a GPU's memory bus width and memory clock rate? I want to use these numbers to compute the maximum theoretical memory bandwidth. I'm mostly interested in NVIDIA GPUs.

+1  A: 

Maybe query the card for manufacturer and model number and scrape the data from the manufacturer's website? Seriously, though, unless the driver exposes those values in an API call it'll be very difficult to determine. Maybe if you can write something to run standalone on the bare hardware you could do it, but otherwise you're going to be competing with every other process on the system for bus bandwidth and CPU time, making measurements pretty tricky.

TMN
I'm hoping that someone knows about such an API that exposes those values.
Eric
+2  A: 

I don't know about memory bus width, but cudaGetDeviceProperties can return you information about the clock rate of an NVIDIA GPU.

Edric
The clock frequency returned by cudaGetDeviceProperties is the processor clock frequency and not the memory clock frequency. I've updated the question to clarify this.
Eric