【IT168 技术】本章引入了CUDA编程模型背后的主要概念,方式是概述它们是怎样使用C语言表示的。更多的关于CUDA C的描述在第三章。
相关文章:
本章使用的向量相加例子的完整代码和下一个例子可在SDK中的vectorAdd代码样本中找到。
2.1 内核
CUDA通过允许程序员定义称为内核的C函数扩展了C,内核调用时会被N个CUDA线程执行N次(译者注:这句话要好好理解,其实每个线程只执行了一次),这和普通的C函数只执行一次不同。
内核使用__global__声明符定义,使用一种新<<<...>>>执行配置语法指定执行某一指定内核调用的线程数(参看附录B.16)。每个执行内核的线程拥有一个独一无二的线程ID,可以通过内置的threadIdx变量在内核中访问(译者注:这只说明在块内是唯一的,并不一定是全局唯一的)。
下面的样本代码将两个长度为N的向量A和B相加,并将结果存入向量C中。