Как выделить размеры локальных рабочих элементов в OpenCL - PullRequest
0 голосов
/ 26 апреля 2019

Я установил сверточное ядро ​​в OpenCL для свертывания изображения 228x228x3 с весами 11x11x3x96 для получения фильтров 55x55x96.

Мой код без выделения localWorkSize работает отлично, но когда я его выделяю, я получаю ошибки

Поэтому мои вопросы:

1) Сколько потоков запускается, когда я устанавливаю localWorkSize в NULL? Я предполагаю, что это неявно, но есть ли способ получить эти цифры?

2) Как мне выделить localWorkSize, чтобы избежать ошибок?


//When localWorkSize is NULL

size_t globalWorkSize[3] = {55,55,96}; 

//Passing NULL for localWorkSize argument 

errNum = clEnqueueNDRangeKernel(command_queue, kernel,3,NULL,globalWorkSize, NULL,0, NULL,&event);

//WORKS PERFECTLY
// When I set localWorkSize

size_t globalWorkSize[3] = {55,55,96}; 
size_t localWorkSize[3] = {1,1,1};

errNum = clEnqueueNDRangeKernel(command_queue, kernel,3,NULL,globalWorkSize, localWorkSize,0, NULL,&event);

//ERROR CONTEXT CODE 999

Я просто пытаюсь понять, сколько потоков создано, когда localWorkSize имеет значение Null и описан GlobalWorkSize

...