御笔剑客 发表于 2022-10-17 18:50:02

Clion 使用远程开发环境来写 Cuda 项目时出现静态检查提示语法错误的情况

系统:CentOS 7 GCC:8.3 Cmake:3.22.5 Clion 版本:2022.2.4 Cuda 版本:10.2

在核函数中使用 printf 报错,还有 '<<<' 也报错,但远端服务器和本地都能成功 Build 和 Run 。

测试代码:
#include "cuda_runtime.h"
#include "device_launch_parameters.h"

#include <stdio.h>

__global__ void test(void)
{
    printf("Hello CUDA!\n");
}

int main()
{
    test <<<1, 1 >>> ();
    cudaDeviceSynchronize();
    return 0;
}

CmakeLists.txt:
cmake_minimum_required(VERSION 3.22)
project(cuda_playground CUDA)

set(CMAKE_CUDA_STANDARD 17)

add_executable(cuda_playground main.cu)

set_target_properties(cuda_playground PROPERTIES
      CUDA_SEPARABLE_COMPILATION ON)

错误截图:
https://s2.loli.net/2022/10/17/YD6xun8wGotdHZX.png
https://s2.loli.net/2022/10/17/grIfSLyk7p6sniA.png

zhangjinxuan 发表于 2022-10-17 19:45:35

好神奇,printf怎么都用不起了?

三尖括号不知道什么意思

御笔剑客 发表于 2022-10-17 20:03:05

zhangjinxuan 发表于 2022-10-17 19:45
好神奇,printf怎么都用不起了?

三尖括号不知道什么意思

这个是Cuda的语法,扩展名是.cu{:10_285:}

zhangjinxuan 发表于 2022-10-17 20:21:28

御笔剑客 发表于 2022-10-17 20:03
这个是Cuda的语法,扩展名是.cu

怎么是C++板块,Cuda和C++有什么关系吗?

御笔剑客 发表于 2022-10-18 09:02:33

zhangjinxuan 发表于 2022-10-17 20:21
怎么是C++板块,Cuda和C++有什么关系吗?

Cuda C++ 是 C++的扩展

dolly_yos2 发表于 2022-10-18 09:09:09

没记错的话 kernel 里应该是可以调用 printf 的,看您的意思好像是能编译运行但是 IDE 提示不正确?
CLion 也不太熟,搜索了一下,不知道您有没有按照这篇文档进行环境配置?
https://www.jetbrains.com/help/clion/cuda-projects.html

御笔剑客 发表于 2022-10-18 15:20:24

dolly_yos2 发表于 2022-10-18 09:09
没记错的话 kernel 里应该是可以调用 printf 的,看您的意思好像是能编译运行但是 IDE 提示不正确?
CLion ...

是的,能正常编译运行,但语法提示有问题,我是按照官方的文档配置的,就很奇怪{:10_285:}

kerln888 发表于 2022-10-19 09:10:04

不懂啊,帮顶下{:10_245:}

raozhan 发表于 2023-3-13 16:43:43

我也遇到同样的问题,请问楼主现在解决了吗?
页: [1]
查看完整版本: Clion 使用远程开发环境来写 Cuda 项目时出现静态检查提示语法错误的情况