我目前正在分发OpenCL程序(在线编译)。
现在我的内核代码位于*.cl
文件中,该文件在内核构建期间被读取。我认为也可以将内核源代码转换为字符串文字,为了相同的目的,可以直接读取而不是*.cl
。
我的问题是:字符串化内核代码有什么好处?
答案 0 :(得分:1)
优点:
示例:
const char *KernelSource = "\n" \
"__kernel void square( \n" \
" __global float* input, \n" \
" __global float* output, \n" \
" const unsigned int count) \n" \
"{ \n" \
" int i = get_global_id(0); \n" \
" if(i < count) \n" \
" output[i] = input[i] * input[i]; \n" \
"} \n";
program = clCreateProgramWithSource(context, 1, (const char **) &KernelSource, NULL, &err);