Error with types;

When I try to compile this

GNU nano 2.2.6                                                         Файл: gpu.cu                                                                                                                        

#include <stdio.h>

#define N (1024*1024)
#define M (1000)

__global__ void cudakernel(float *buf){
        int i = threadIdx.x + blockIdx.x*blockDim.x;
        buf[i] = 1.0f * i/N;
        for(int j = 0; j<M;j++){
                buf[i] = buf[i]*buf[i] -0.25f;
        }
}

int main(){
        float data[N];
        int count = 0;
        float *d_data;
        cudaMalloc(&d_data,N*sizeof(float));
        cudakernel<<N/256,256>>(d_data);
        cudaMemcpy(data,d_data,N*sizeof(float),cudaMemcpyDeviceToHost);
        cudaFree(d_data);

        int sel;
        printf("enter an index: ");
        scanf("%d",&sel);
        printf("data[%d] = %d \n",sel, data[sel]);
}

I get this error: error: expression must have integral or enum type
at cudakernel<<N/256,256>>(d_data);

You need three chevrons, not two. The kernel call should be cudakernel<<<N/256,256>>>(d_data);