这里介绍关于OpenCL中program函数的写法,program函数通常是文本形式的,然后使用clCreateProgramWithSource这样的接口load进来。在Shader编程中也经常使用这种形式书写GPU上运行的代码,所以为了表述清楚和理解方便,这里姑且把这些program函数的源码文本称为OpenCL的shader吧
下面都是写在shader中的一些语法
1 shader是类C的语言,派生自C99标准(99年ansi C接受的标准,也是C最新的标准)
不支持:
头文件、函数指针、递归、变长数组(这个VS也不支持)
额外加入的类型:
vector 类型 char2 ushaort4 int8 这些最后都会变成长度对齐的
图像类型 image2d_t image3d_t sampler_t ...
event类型 event_t(关联于API中CL_event)
2.work item和 work Group相关函数
3.vector 操作
vector的前一半为lo,后一半为hi
int4 v=(int4) 7 =(int4)(7,7,7,7)
v=(in4)(1,2,3,4)
int2 v2=v.lo ->(1,2)
v2=v.hi ->(3,4)
v2.v.odd ->(2,4)
对vecto