cuda函数的前缀作用

文章目录

  • cuda函数的前缀作用
    • 1、前缀作用
    • 2、global
    • 3、device
    • 4、host

cuda函数的前缀作用

1、前缀作用

函数执行环境标识符,即表明函数在哪里被调用

2、global

__global__修饰的函数是核函数,这些函数在GPU上执行,但是需要在CPU上调用。
global修饰的函数必须采用void返回类型,并且需要在调用时制定运行的参数<<>>
global函数是异步的,函数没执行完就返回了控制权,所以测量核函数的时间需要同步操作才能获得准确的时间。

3、device

__device__在GPU上调用,在GPU上执行,不能和__global__同时出现。
device函数在编译器中会被编译成内联函数。

4、host

__host__定义了主机端的函数,在CPU调用,在CPU执行,正常的c/c++函数,如果不加任何修饰符,默认是__host__函数。host函数只为主机端编译。
host不能核global同时使用,但是可以核device同时使用,此时函数会同时为主机端和设备端编译。

你可能感兴趣的:(cuda,算法加速)