永发信息网

请教cuda error

答案:2  悬赏:20  手机版
解决时间 2021-01-25 22:01
请教cuda error
最佳答案
如果用的是Windows中的Visual Studio的Nsight插件,可以在kernel中设置断点,然后选择Nsight插件中的Start CUDA Debugging来看出错的语句。
如果是Mac或Linux,请考虑使用CUDA-GDB。


另,在每次调用完kernel后写一句话可以检查基本的kernel调用错误,例如

// This will output the proper error string when calling cudaGetLastError
#define getLastCudaError(msg)      __getLastCudaError (msg, __FILE__, __LINE__)

inline void __getLastCudaError(const char *errorMessage, const char *file, const int line)
{
    cudaError_t err = cudaGetLastError();

    if (cudaSuccess != err)
    {
        fprintf(stderr, "%s(%i) : getLastCudaError() CUDA error : %s : (%d) %s.\n",
                file, line, errorMessage, (int)err, cudaGetErrorString(err));
        DEVICE_RESET
        exit(EXIT_FAILURE);
    }
}
#endif

kernel<<<1,1>>>();
getLastCudaError("Error in Calling 'kernel'");
全部回答
cuda中有cudaerror_t这个类别,可以记录cuda错误。所有的cuda库函数,几乎都返回一个cudaerror_t。 《gpu高性能编程》中使用handle_error宏函数,处理每个函数返回的cudaerror static void handleerror( cudaerror_t err,const char *file,int line ) { if (err != cudasuccess) { printf( "%s in %s at line %d\n", cudageterrorstring( err ), file, line ); exit( exit_failure ); } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
犬夜叉 奈落生出一个没有脸的,人形怪物,那
兽人部落之我是男人全文+番外
11元大写金额
康顺宠物地址有知道的么?有点事想过去
高一需要为高考做哪些准备
“三六九,往外走”,网络订票变“囧途”为坦
新捷达自动挡汽车怎么开
我今天晚上喝醉向一个女生发信息表白了,可是
忠孝哪个重要
重庆到綦江三江要多久
信用卡网上审核通过卡到手了,到银行开通还要
棠下桥医院我想知道这个在什么地方
小姨家的女儿可不可以和舅舅家的儿子可以结婚
我们宿舍就有8个人除了我,她们的关系都很好
两个男人临死前,怎样度过最爽的一天
推荐资讯
我的电脑2G内存玩个CF怎么内存占用98%啊
银行卡号一般是多少,位数
姑苏区莲花新村二手房二室一厅多少钱
要到廊坊管道局国际部工作,一个月待遇多少?
双鱼玉佩事件的五张照片是什么?
一列火车通过一座长456米的桥需要60秒,用同
in case that什么意思
梦见从水中捞出女尸体还是光着身体的
我在京东同一时间买了六本书,快递会一次性打
萝卜牛肉和鸡蛋在一起可以吗
72分之42怎么约分
镇居委会地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?