博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CUDA中自动初始化显卡设备宏
阅读量:6892 次
发布时间:2019-06-27

本文共 1362 字,大约阅读时间需要 4 分钟。

hot3.png

每次为了减少初始化的工作量,可以写入下面的宏。

#define CUT_DEVICE_INIT(ARGC,ARGV){    \    int deviceCount;    \    CUDA_SAFE_CALL_NO_SYNC(cudaGetDeviceCount(&deviceCount));    \    if(deviceCount == 0){    \        fprintf(stderr,"cutil error:no devices supporting CUDA.\n")    \        exit(EXIT_FAILURE);    \    }    \    int dev=0;    \    cutGetCmdLineArgumenti(ARGC,(const char **) ARGV,"device",&dev);    \    if(dev < 0) dev=0;    \    if(dev > deviceCount - 1) dev=deviceCount - 1;    \    cudaDeviceProp deviceProp;    \    CUDA_SAFE_CALL_NO_SYNC(cudaGetDeviceProperties(&deviceProp,dev));    \    if(deviceProp.major < 1){    \        fprintf(stderr,"cutil error: device does not support CUDA.\n");    \        exit(EXIT_FAILURE);    \    }    \    if(cutCheckCmdLineFlag(ARGC,    (const char **) ARGV,"quiet") == CUTFalse)    \        fprintf(stderr,"Using device %d:%s\n",dev,deviceProp.name);    \    CUDA_SAFE_CALL(cudaSetDevice(dev));    \}#define CUT_EXIT(argc,argv)    \    if(!cutCheckCmdLineFlag(argc, ( const char **)argv, "noprompt")){    \        printf("\n Press ENTER to exit...\n");    \        fflush(stdout);    \        fflush(stderr);    \                getchar();    \    }    \exit(EXIT_SUCCESS);

在主程序中:

int main(int argc,char** argv){    CUT_DEVICE_INIT(argc,argv);    ...主程序内容    CUT_EXIT(argc,argv);}

 

转载于:https://my.oschina.net/u/204616/blog/545284

你可能感兴趣的文章
Cocos2dx——HelloWorld相关
查看>>
我的友情链接
查看>>
Eclipse的SVN插件与SVN客户端安装版本一致性,实现版本协同管理
查看>>
openstack dashboard 加载慢的原因
查看>>
Windows Server 2008 中直接安装Microsoft .NET Framework 3.5 sp1
查看>>
VS2010与.NET4.0 系列 2. 项目入门模板
查看>>
MySQL的存储引擎比较
查看>>
关于硬盘读写
查看>>
基于TCP协议的Socket通信
查看>>
IReport安装完无法启动
查看>>
C二级指针内存模型一
查看>>
如何关掉vmware虚拟机中的redhat和windows 2003的报警声
查看>>
我的友情链接
查看>>
双向链表实现约瑟夫双向生死游戏
查看>>
Java知识点06-原码、反码、补码
查看>>
求职之路
查看>>
Spring Cloud Alibaba迁移指南2:一行代码从Hystrix迁移到Sentinel
查看>>
客户端无法退出AD域控,无法修改计算机名字(服务器上的安全数据没有此工作站信任关系的计算机账户!)...
查看>>
"世界杯”噱头蠕虫来袭,如何避免恶意攻击
查看>>
Ordering犀利的比较器(6)
查看>>