首页 > Linux操作系统 > Linux操作系统 > CUDA 学习笔记之函数限制符
函数限制符:
__global__:用于主机调用,但是是在设备上执行,cuda称其为内核,它是cpu和gpu交流的中介,一般一个程序尽量只用一个内核,也可以有几个。当然也得具体配置,在内核内不能声明static变量。它的调用是异步的,因此在使用它所调用的参数前要确定数据可用。可以使用cudaThreadSynchronize()来达到目的。
__device__:定义运行在gpu上的函数,就是在设备上调用,在设备上执行。
__host__:就像没有修饰符一样,由主机调用,这是默认的,同时定义__device__,__host__,这样可就能够同时在设备和主机中调用。
:所有运行在设备上的函数都不能有递归且不能有静态变量。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22785983/viewspace-662157/ ,如需转载,请注明出处,否则将追究法律责任。