OpenCL + Intel System Studio 2019 - проблема отладки графического процессора - PullRequest
0 голосов
/ 26 февраля 2019

Я новичок в программировании OpenCL.Моя проблема возникает, когда я пытаюсь отлаживать ядра OpenCL в Visual Studio 2017. Отладчик не останавливается на точках останова в коде ядра, но отлично работает в функции Main.Я установил Intel System Studio 2019.

Я строю контекст следующим образом:

cl_int platform_id = 0;
cl_int device_id = 0;
cl_context_properties contextProps[3] = {
    CL_CONTEXT_PLATFORM,
    (cl_context_properties)(platformList[platform_id])(),
    0
};

cl::Context context(CL_DEVICE_TYPE_GPU, contextProps, NULL, NULL, &errorState);

Я пытаюсь собрать программу с параметрами отладки:

cl::Program program(context, source);
errorState = program.build(devices, "-g -s C:/OpenCL_Intel/OpenCL_Intel/multiply.cl");

После этогоЯ устанавливаю параметры для функции ядра и запускаю ядро:

cl::Kernel kernel(program, "multiply", &errorState);
kernel.setArg(0, inA);
kernel.setArg(1, inB);
kernel.setArg(2, outCL);
kernel.setArg(3, arraySize);

cl::Event event;
errorState = queue.enqueueNDRangeKernel(kernel, cl::NullRange,
    cl::NDRange(arraySize), cl::NDRange(1), NULL, &event);
checkErr(errorState, "ComamndQueue::enqueueNDRangeKernel()");

event.wait();
errorState = queue.enqueueReadBuffer(outCL, CL_TRUE, 0, sizeof(int) * arraySize, out);
checkErr(errorState, "ComamndQueue::enqueueReadBuffer()");

Мои параметры отладки в моем проекте OpenCL Я также установил некоторые параметры в Code Builder:

  • API Debugger -> Включить отладчик API OpenCL Tools -> True
  • Отладчик ядра GPU -> Включить отладку -> True

Заранее спасибо

1 Ответ

0 голосов
/ 21 мая 2019

Из-за ограничений Windows для отладки ядер OpenCL на графическом процессоре требуется определенная конфигурация хоста / цели системы.Вы можете найти пошаговое руководство на веб-сайте Intel - https://software.intel.com/en-us/openclsdk-devguide-debugging-opencl-kernels-on-gpu.

Также убедитесь, что у вас установлена ​​последняя версия OpenCL Runtime (видеодрайвер), а также последняя версия OpenCLSDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...