OpenCL POCL + асан или валгринд
Я пытаюсь отладить ядро OpenCL. Я думаю, ошибка в неправильном распределении памяти. Итак, я ищу способ обнаружить это.
Короче говоря, могу ли я просто запустить ядро OpenCL на платформе POCL и проверить его с помощью известных инструментов?
2 ответа
Да, Oclgrind должен выдавать более полезные сообщения об ошибках, но также поддержка символов отладки pocl должна снова работать в master. Таким образом, теперь valgrind и gdb должны лучше определять номера строк OpenCL C.
Также есть новый env POCL_EXTRA_BUILD_FLAGS в pocl master:
"Добавляет содержимое переменной среды ко всем вызовам clBuildProgram(). Например, POCL_EXTRA_BUILD_FLAGS="-g -cl-opt-disable"может быть полезно для принудительного добавления отладочных данных во все встроенные ядра, чтобы помочь отладке проблем ядра с помощью таких инструментов, как gdb или Вальгринд."
Вы можете сделать это. Тем не менее, есть также инструмент под названием Oclgrind
разработан только для этого: https://github.com/jrprice/Oclgrind