// adding extern "C" prevents name mangling of the global extern "C" { __global__ void HelloWorld(char *a, int *b) { a[threadIdx.x] += b[threadIdx.x]; } }