Я работаю над примером HelloWorld в Руководстве по программированию OpenCl, и я продолжаю получать EXC_BAD_ACCESS, когда пытаюсь запустить эту функцию (clSetKernelArg). Внешний вид моей функции в основном...
clSetKernelArg(mKernel, 0, sizeof(cl_mem), mMemObject[0]);
В отладчике все выглядит как экземпляр. В круглых скобках нет ничего пустого, и у меня все идеи. Любая помощь будет принята с благодарностью.
Если вы собираетесь использовать OpenCL Hello World, я почти уверен, что у вас нет
cl_mem * mMemObject[foo]
Это единственное, что сделало бы объявление mMemObject [0] законным. EXC_BAD_ACCESS подразумевает, что вы разыскиваете неверный указатель, и это означает, что ваш mMemObject является только cl_mem.
Это работает, если вы объявили mMemObject просто с помощью cl_mem mMemObject:
clSetKernelArg(mKernel, 0, sizeof(cl_mem), &mMemObject);