Есть ли способ отлаживать ядра OpenCL на графическом процессоре Nvidia, т. Е. Устанавливать контрольные точки и проверять переменные? Я понимаю, что Nvidia's tool не разрешает отладку OpenCL, а AMD's и Intel's допускают только их на своих устройствах.Как отлаживать OpenCL на графических процессорах Nvidia?
ответ
gDEBugger может помочь вам в некоторой степени (но никогда не использовал его), но кроме этого нет никакого инструмента, о котором я знаю, который может установить точки останова или проверить переменные внутри ядра. Возможно, попробуйте сохранить промежуточные выходы из вашего ядра, если это длинное ядро. Извините, я не могу дать вам волшебное решение, отладка OpenCL просто сложна.
[This post] (http://stackoverflow.com/q/12070564/1397061) упоминает что предыдущая версия gDEBugger поддерживала карты Nvidia, но эта работа была удалена. Эта версия и драйверы, которые ее поддерживают, все еще доступны? –
Кажется, я должен был проверить статус gDEBugger из Graphic Remedy перед публикацией. Последняя версия, выпущенная ими с 2010 года (все еще доступна для скачивания), и версия AMD теперь заменена CodeXL. Я не знаю, работает ли старая версия gDEBugger, но я попробую ее и отчитаю. – chippies
Возможно, вам потребуется найти более раннюю версию, поскольку они, по-видимому, отказались от поддержки Nvidia до последней версии. –
Я не нашел решение этой проблемы, однако мы часто отлаживаем использование CodeXL на платформах AMD, чтобы убедиться, что наш код работает, а затем делают окончательные модификации и оптимизации, характерные для платформ Nvidia, без поддержки отладки. Это работает довольно хорошо, но, очевидно, требует покупки карты AMD, которая похожа на вашу карту Nvidia. Это не идеальное решение, но имеет тенденцию работать хорошо для нас. –
Upvote для инструмента CodeXL, отличный инструмент от AMD, помимо того, что вам не повезло на NVIDIA, вы, вероятно, можете использовать команду printf (http://www.khronos.org/registry/cl/sdk/1.2/docs/man/ xhtml/printfFunction.html), как грязный способ взглянуть на местных жителей, я бы предложил вам перейти на AMD GPU, где инструменты и поддержка намного лучше – kiranputtur