Today I write a simple test to call CUDA RuntimeAPI.
1 DeviceManagement RT
1.1 cudaGetDeviceCount
cudaError_t cudaGetDeviceCount(int *count)
use this function to get the number of devices with compute capability
1.2 cudaGetDevice
cudaError_t cudaGetDeviceC(int *dev)
use this function to get device number which is currently being used
1.3 cudaGetDeviceProperties
cudaError_t cudaGetDeviceProperties(struct cudaDeviceProp *prop, int dev)
use this function to get the detail properties of dev device, you will know how large the GlobalMemory it has, how many register per block, etc.
1.4 cudaChooseDevice
cudaError_t cudaChooseDevice(int *dev, const struct cudaDeviceProp *prop)
returns in *dev the device which properties best match *prop, if you have many devices, you can choose them by setting *prop, then get the device number.
1.5 cudaSetDevice
cudaError_t cudaSetDevice(int dev)
after you choose the device you want to use, set the device number and call this function, then the specify one will work for you.
At last I post the code which can get all the CUDA device prop in you computer