this declaration has no storage class or type specifier

queeten 2008-07-02 07:33:27
刚接触CUDA,一个试手程序出了点问题,麻烦帮助。
//host code
#include <stdio.h>
#include <increment_kernal.cu>
#define N 16
void main()
{
// allocate host memory
int numBytes = N * sizeof(float)
float* h_A = (float*) malloc(numBytes);

// allocate device memory
float* d_A = 0;
cudaMalloc((void**)&d_A, numbytes);

// copy data from host to device
cudaMemcpy(d_A, h_A, numBytes, cudaMemcpyHostToDevice);

// execute the kernel
float blockSize = 4;
float b = 1;
increment_gpu<<< N/blockSize, blockSize>>>(d_A, b, N);

// copy data from device back to host
cudaMemcpy(h_A, d_A, numBytes, cudaMemcpyDeviceToHost);

// free device memory
cudaFree(d_A);
}


//device code
#include <stdio.h>
_global_ void increment_gpu(float *a,float b,int n)
{
int idx = blockIdx.x * blockDim.x + threadIdx.x;
if(idx < n)
a[idx] = a[idx] + b;
}

build之后在_global_ void increment_gpu(float *a,float b,int n)处报错说this declaration has no storage class or type specifier。这是怎么回事?
...全文
1646 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
OpenHero 2008-07-04
  • 打赏
  • 举报
回复 1
1.__global__
2.编译器选对
darkstorm2111203 2008-07-03
  • 打赏
  • 举报
回复 1
1. < < <中间不知道为什么有空格
2.不是_global_ 是 __global__

589

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧