Профилирование ядер OpenCL - PullRequest
       18

Профилирование ядер OpenCL

7 голосов
/ 27 февраля 2011

Я пытаюсь оптимизировать свои ядра OpenCL, и все, что у меня сейчас есть, - это NVidia Visual Profiler, который выглядит довольно ограниченным. Я хотел бы видеть построчный профиль ядер, чтобы лучше понять проблемы с объединением и т. Д. Есть ли способ получить более подробные данные профилирования, чем тот, который предоставляется Visual Profiler?

Ответы [ 4 ]

4 голосов
/ 15 декабря 2013

Я думаю, что AMD CodeXL - это то, что вы ищете. Это бесплатный набор инструментов, который содержит отладчик OpenCL и профилировщик графического процессора. Отладчик OpenCL позволяет выполнять построчную отладку ваших ядер OpenCL и кода хоста, просматривать все переменные в разных рабочих группах, просматривать специальные события и ошибки, которые происходят, и т. Профилировщик GPU имеет приятную функцию, которая генерирует временную шкалу, показывающую, как долго ваша программа тратит на такие задачи, как передача данных и выполнение ядра.

Для получения дополнительной информации и ссылок для скачивания, проверьте http://developer.amd.com/tools-and-sdks/heterogeneous-computing/codexl/

1 голос
/ 04 июля 2012

Я не тестировал, но только что нашел эту программу http://www.gremedy.com/gDEBuggerCL.php. Описание таково: «Этот новый продукт предоставляет расширенные возможности отладки, профилирования и анализа памяти gDEBugger в мире разработчиков OpenCL ...»

1 голос
/ 11 декабря 2013

LTPV - это OpenCL-профилировщик OpenCL , который может соответствовать вашим требованиям.Пока он работает только под Linux.

(раскрытие: я разработчик этого инструмента)

1 голос
/ 27 апреля 2011

Нет, такого инструмента нет, но вы можете профилировать изменения кода.Попробуйте измерить скорость вашего кода, что-то изменить, а затем измерить еще раз.clEnqueueNDRangeKernel имеет аргумент Event, который впоследствии можно использовать с clGetEventProfilingInfo, таймер очень точный, точность измеряется в порядке микросекундЭто единственный способ измерить производительность отдельной части кода ...

...