参考:https://www.cnblogs.com/aoru45/p/12650861.html
一、kernel函数介绍
kernel在cuda中指的是一个函数,当一个kernel被调用的时候,gpu会同时启动很多个线程来执行这一个kernel,这样就实现了并行化;每个线程执行这一kernel将通过线程号来对应输入数据的下标,这样保证每个thread执行的kernel一样,但是处理的数据不一样。
核函数以下几个的前缀分别代表:
__global__
:在GPU上执行,可以在CPU上被调用,也可以在GPU上被调用
__device__
:在GPU上执行,只能在GPU上被调用
__host__
:在CPU上执行,只能在CPU上被调用
一个kernel在cuda中可以这么定义:
二、矩阵的加法运算
1、一维矩阵的加法运算
__global__ void VecAdd(float* A