Why was cuDeviceComputeCapability Deprecated?


I’m confused as my application uses this to quickly find out the device information, and it was very handy for this.

Now it seems to have been replaced with cuDeviceGetAttribute

However, in order to get the same information, i now need to make dozens of calls instead of just one?

Would appreciate some information on why this was done.

It is not clear why you need dozen of calls? cuDeviceComputeCapability() returns just two pieces of information, so you should be able to replace it by two calls to cuDeviceGetAttribute(), querying attributes CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR and CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR (depending on what you are doing with this information, you may not even need the latter).

I can only guess the movitation for the change, but note that the new interface is flexible and extensible and therefore pretty future-proof. Arguably this cleaner, more general, interface should have been used in the first place, but it is never too late to fix historical mistakes.