11.6 编译之后的C++ AMP代码
我们再回顾一下C++ AMP
以Lambda函数实现的向量相加,如图11.6所示。
图11.6 C++ AMP
Lambda函数的向量相加
使用CLamp将其翻译成OpenCL内核代码时,就如图11.7所示。
图11.7 OpenCL SPIR版的向量相加
看起来编译器处理过之后的代码可读性差很多,不过这里我们依旧不难找到下面一些对关系:
第1行:生成对应的内核名
第2-3行:序列化array_view va
第4-5行:序列化array_view vb
第6-7行:序列化array_view vc
第11行:获取全局工作项索引,通过
C++ AMP
Lambda函数中的idx获取第12行:加载va[idx]
第13行:加载vb[idx]
第14行:计算va[idx]+vb[idx],并将结果保存在vc[idx]
Last updated