自动驾驶-CUDA与TensorRT部署实战程
函数和device函数。具体如下:
__global__
:在device上执行,从host中调用(一些特定的GPU也可以从device上调用),返回类型必须是void,不支持可变参数,不能成为类成员函数。注意:下文会提到CUDA中的核函数,它就是用__global__
声明的,并且是异步的,host不会等待kernel执行完就执行下一步。__device__
:在device上执行,从device中调用。__host__
:在host上执行,从host中调用,一般省略不写(默认)。
典型的CUDA程序执行流程如下:
1.分配host内存,并进行数据初始化;
2.分配device内存,并从host将数据拷贝到device上;
3.调用CUDA的核函数在device上完成指定的运算;
4.将device上的运算结果拷贝到host上;
5.释放device和host上分配的内存。