通过 __host__
和 __device__
双重修饰符,可以把函数同时定义在 CPU 和 GPU 上,这样 CPU 和 GPU 都可以调用
比如:
#include <cstdio>
#include <cuda_runtime.h>__host__ __device__ void say_hello(){printf("Hello, world!\n");
}__global__ void kernel(){say_hello();
}int main(){kernel<<<1, 1>>>();cudaDeviceSynchronize();say_hello();return 0;
}