无法理解简单CUDA函数中的错误

时间:2014-09-19 09:58:05

标签: cuda

最近我开始学习CUDA。这是我从内核打印的简单代码。

#include"cuPrintf.cu"
#include"cuPrintf.cuh"
#include<cuda.h>
#include<stdio.h>
__global__ void cuprint()
{
     cuPrintf("He he, I am printing from here");
}
main()
{
     cuprint<<<1,1>>>cuprint();
}

cuPrintf.cucuPrintf.cuh已下载并保存在我编写此程序的目录中。我收到以下错误。

cuprint.cu(11): error: expected a "("
cuprint.cu(13): error: expected a declaration

任何人都可以告诉我为什么会收到这些错误。

2 个答案:

答案 0 :(得分:6)

无需将cuPrintf与CUDA 6.0和具有计算能力的卡3.5一起使用。

这个简单的代码可以使用

#include<stdio.h>

__global__ void cuprint()
{
    printf("Printing...\n");
}

main()
{
    cuprint<<<1,1>>>();
    cudaDeviceSynchronize();
}

答案 1 :(得分:4)

你用错误的方式调用它,你应该像cuprint<<<1,1>>>();一样调用它 根据这个页面:https://code.google.com/p/stanford-cs193g-sp2010/wiki/TutorialHelloWorld你需要添加更多的功能(对于init()和东西)),但我无法确认,因为我这里没有CUDA PC)