CUDA编程——设备属性的使用

根据cudaGetDeviceCount()和cudaGetDeviceProperties()中返回的结果,我们可以对每个设备进行操作。

代码如下:

int main(void) {

    cudaDeviceProp prop;

    int dev;

    cudaGetDevice(&dev);

    printf("ID of current CUDA device: %d\n", dev);

    memset(&prop, 0, sizeof(cudaDeviceProp));

    prop.major = 1;

    prop.minor = 3;

    cudaChooseDevice(&dev, &prop);

    printf("ID of CUDA device closest to revision 1.3: %d\n", dev);

    cudaSetDevice(dev);

    return 0;

}

声明一个cudaDeviceProp结构后,将其传递给cudaChooseDevice(),CUDA运行时将查找是否存在某个设备满足这些条件,cudaChooseDevice()函数将返回一个设备ID,然后将这个ID传递给cudaSetDevice(),随后所有的设备操作都将在这个设备上执行。

你可能感兴趣的:(CUDA编程——设备属性的使用)