CUDA 调用kernel函数时调用不到,也不报错

第一次使用CUDA编程,本文只提供了我以为的解决方法,原因不清楚,希望以后可以将这篇博客内容补全

环境:ubuntu18.04 clion2020.3 cuda11.2 GPU版本:GEFORCE 940MX
复制粘贴了网上最简单的"Hello, cuda",在kernel函数中输出,结果什么都没有,心态崩了。
总结原因:

1.需要确定自己的GPU计算能力

可以在NVIDIA官网上查询,或者cuda 计算能力查询表
还有一种查看方式,可以运行NVIDIA_CUDA_Samples/1_Utilities/deviceQuery的代码,运行结果如图
CUDA 调用kernel函数时调用不到,也不报错_第1张图片我的CUDA Capability 就是5.0

计算能力2.0以上才可以在kernel函数中输出,参考CUDA官方文档

2.编译时指定CUDA架构

参考CUDA架构及对应编译参数
我的GPU版本为 GEFORCE 904MX,计算能力5.0,因此nvcc编译时选择

nvcc -gencode arch=compute_50,code=sm_50 main.cu

但是还没搞清楚如何在clion中设置编译的参数,先记下来吧。

*之前还遇到了一个小问题

clion编译时报错

No CMAKE_CUDA_COMPILER could be found

CUDA 调用kernel函数时调用不到,也不报错_第2张图片在设置里改一下就好啦
CUDA 调用kernel函数时调用不到,也不报错_第3张图片
就是在CMake options中写入

-DCMAKE_CUDA_COMPILER:PATH=/usr/local/cuda-11.2/bin/nvcc

具体路径要根据自己把nvcc装在哪来确定

你可能感兴趣的:(cuda)