zoukankan      html  css  js  c++  java
  • CUDA_获取指定设备

    请求计算能力2.0设备(费米架构):

    struct cudaDeviceProp device_prop;
    int chosen_device;
    
    memeset(device_prop, 0, sizeof(cudaDeviceProp));
    device_prop.major = 2;
    device_prop.minor = 0;
    
    if(cudaChooseDevice(&chosen_device, device_prop) != cudaErrorInvalidValue)
    {
    	CUDA_CALL(cudaSetDevice(chosen_device));
    }
    

    cuda错误处理:

    每个函数返回一个错误代码时,每次函数调用必须进行错误检查,并编写处理函数。这使得错误处理很麻烦,并且导致高度缩进的程序代码:

    if (cudaMalloc(..) == cudaSuccess) 
    {
    	if (cudaEventCreate(&event) == cudaSuccess)
    	{
    		
    	}
    }
    else
    {
    	...
    }
    

    为了重复性的编程,可以使用下面的宏来调用CUDA应用程序接口:

    #define CUDA_CALL(x) {const cudaError_t a=(x); if (a != cudaSuccess) {printf("
    CUDAError:%s(err_num=%d)
    ",cudaGetErrorString(a),a); cudaDeviceReset(); assert(0);}}
    
    专注搬砖,擅长搬砖砸自己的脚~~~ Email: ltwbuaa@163.com
  • 相关阅读:
    idea编辑器快捷键
    双随机系统遇到的简单样式问题
    HTTP笔记八
    HTTP笔记七
    HTTP笔记六
    HTTP笔记五
    HTTP笔记四
    HTTP笔记三
    HTTP笔记二
    HTTP笔记一
  • 原文地址:https://www.cnblogs.com/TonvyLeeBlogs/p/13951378.html
Copyright © 2011-2022 走看看