//函数原型举例
cl_int clGetPlatformInfo(cl_platform_id platform,
cl_platform_info param_name,
size_t param_value_size,
void *param_value,
size_t *param_value_size_ret)

其中void* param_value为一个指向内存位置的指针,该指针的赋值由之前给定的cl_platform_info param_name决定。下表为param_value可能的返回值。如果param_value是NULL,那么它被忽略。

param_value_size 指定param_value所确定的平台信息所需的内存的长度,以byte为单位,这个size必须>=表中数据类型的长度。

param_value_size_ret 返回由param_value指定的平台信息的实际长度,如果是NULL,那么被忽略。

通常这个函数会被调用两次

cl_int error = 0;
size_t paramSize = 0; //获取此时paramSize指向的平台信息的实际长度size的大小
error = clGetPlatformInfo(id, param_name, 0, NULL, &paramSize); /*根据之前size的大小开辟所需存储平台信息的内存长度,一般平台信息以char*类型居多,
视具体情况分析*/
char *moreInfo = (char*)malloc(sizeof(char*) * paramSize); //根据param_name获取平台信息,并赋值给moreInfo
error = clGetPlatformInfo(id, param_name, paramSize, moreInfo, NULL);
printf("%s", moreInfo); //输出平台信息
free(moreInfo);

使用OpenCL-LMLPHP

使用OpenCL-LMLPHP

参考https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/

04-28 21:57