内核调用的函数中的opencl get_local_id或get_global_id

内核调用的函数中的opencl get_local_id或get_global_id,opencl,Opencl,假设我有这样一个.cl: void func(whatever){ int id = get_global_id(0); do stuff; } __kernel void (whatever){ func(whatever); } func是否能够访问特定于线程的函数,如get\u global\u id?手动内联所有这些函数会让人恼火,而且会使代码的可读性大大降低。是的,所有函数都可以使用工作项函数,如get\u global\u id()。在从内核调用的函数中,唯一

假设我有这样一个
.cl

void func(whatever){
   int id = get_global_id(0);
   do stuff;
}

__kernel void (whatever){
    func(whatever);
}

func
是否能够访问特定于线程的函数,如
get\u global\u id
?手动内联所有这些函数会让人恼火,而且会使代码的可读性大大降低。

是的,所有函数都可以使用工作项函数,如
get\u global\u id()
。在从内核调用的函数中,唯一不能做的事情是声明函数作用域本地内存数组