CUDA C不是C语言,而是对C语言进行扩展。CUDA对C的扩展主要包括以下四个方面:
函数类型限定符,用来确定函数是在CPU还是在GPU上执行,以及这个函数是从CPU调用还是从GPU调用。
device,device表示从GPU上调用,在GPU上执行;
global,定义一个keinel函数,入口函数,表示在CPU上调用,在GPU上执行,也就是所谓的内核(kernel)函数;内核主要用来执行多线程调用,函数必须返回void
host,host表明在CPU上调用,在CPU上执行,这是默认时的情况,也就是传统的C函数。CUDA支持host和device的联用,表示同时为主机和设备编译。此时这个函数不能出现多线程语句。
2.一个Grid里面的每个Block的线程数是一样的,