CUDA10.0默认代码与kernal中printf无法运行的原因

CUDA10.0默认代码与printf无法运行的原因

本人使用的电脑显卡是Geforce GT755M 算力3.0 安装了CUDA和vs2017,再开始写代码的时候预见一个怪事,新建工程的默认代码向量相加是无法编译通过的,无奈到网上找了个使用SHARE memory 的向量相乘的代码,能够成功运行出结果。但是,最无奈的来了,尝试编写最简单的代码,即创建32个线程,在KERNAL中使用printf输出hello word仍然无法输出结果。找了半天依然无法解决,包括英伟达官方论坛的添加cudaDeviceSynchronize();依然无法解决。无奈自己重新尝试调试。最终解决方式如下:

右击进入属性CUDA10.0默认代码与kernal中printf无法运行的原因
将compute_35,sm_35修改成30,具体还得看你自己GPU的算力等级,一般情况gpu的算力要高于你设置的算力CUDA10.0默认代码与kernal中printf无法运行的原因
成功CUDA10.0默认代码与kernal中printf无法运行的原因