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(),随后所有的设备操作都将在这个设备上执行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。