Согласно документации clGetKernelWorkGroupInfo
(из здесь ), я пытался запросить размер рабочей группы и размер личной памяти, используемой моим ядром.Протестировал приведенный ниже фрагмент на устройстве Android с графическим процессором Adreno 530.
(Пример кода из Учебник Apple OpenCL )
size_t maxWorkGroupSize;
cl_ulong private_mem_used;
clGetKernelWorkGroupInfo(kernel, &device, CL_KERNEL_WORK_GROUP_SIZE, sizeof(maxWorkGroupSize), &maxWorkGroupSize, NULL );
clGetKernelWorkGroupInfo(kernel, &device, CL_KERNEL_PRIVATE_MEM_SIZE, sizeof(private_mem_used), &private_mem_used, NULL );
printf("Max work-group size is %ld \n", maxWorkGroupSize);
printf("Private memory used is %lld KB\n", private_mem_used/1024);
Вывод:
Max work-group size is 42773336
Private memory used is 179412930700111 KB
Вывод выглядит неправильно.
- Если вывод неправильный, есть ли что-то не так в фрагменте?
- Если выходные данные верны, было бы полезно, если бы вы могли помочь в интерпретации выходных данных