miniFAQ об OpenCL

Как узнать количество PlatformIDs и DeviceIDs?
cl_uint num_platforms;
clGetPlatformIDs(0, NULL, &num_platforms);
после чего можно получить все платформы:
cl_platform_id *platform_id = malloc(sizeof(cl_platform_id)*num_platforms);
clGetPlatformIDs(num_platforms, platform_id, NULL);
с девайсами поступаем точно также.
Как передать в kernel параметр-констнту?
char params[15];
sprintf(params, "-D BS=%i", BS);
clBuildProgram(program, 0, NULL, params, NULL, NULL);
И в самом kernel можно использовать параметр BS:
__kernel void my_kernel(__global const float *A)
{
__local float a[BS][BS];
size_t N = n/BS;
}
TO BE CONTINUED...
- Блог пользователя - ostin
- Для комментирования войдите или зарегистрируйтесь

Кратко: сессия...
А ещё я разочаровался в OpenCL на моей видюхе ATI mobility radeon HD5470.
И... да в gentoo с OpenCL не всё хорошо.